Skip to content
Rainbow docs menu

Reference · Logic

rainbow.math.logic.infinite-injection

Logicsrc/rainbow/math/logic/infinite_injection.clj0 definitions, 3 theorems

Classical, sort-polymorphic infinitude transport along injections.

list/preimage-representatives

TheoremFor all inputsAxioms: sha256:2756c280e97f5c73b7f8ed1cdae9b3e0f2871720be7d82785b6b81ef1fb84366Source, line 66

list/preimage-representatives.{l, m} :
  (Source : Sort l) (Target : Sort m) (mapping : Source → Target)
  (injective : ∀ (left : Source), ∀ (right : Source), ∀ (same-image : mapping left = mapping right), left = right)
  (target-enumeration : List Target)
  → proposition/existence (List Source) (fun source-enumeration => ∀ (value : Source), ∀ (image-member : membership (mapping value)), list/sort-membership Source source-enumeration value)
  where membership := list/sort-membership Target target-enumeration

= = equality/EqList = data/List

type/finite-of-injection

TheoremFor all inputsAxioms: sha256:2756c280e97f5c73b7f8ed1cdae9b3e0f2871720be7d82785b6b81ef1fb84366Source, line 250

type/finite-of-injection.{l, m} :
  (Source : Sort l) (Target : Sort m) (mapping : Source → Target)
  (injective : ∀ (left : Source), ∀ (right : Source), ∀ (same-image : mapping left = mapping right), left = right)
  (target-finite : type/finite Target)
  → type/finite Source

= = equality/Eq

type/infinite-of-injection

TheoremFor all inputsAxioms: sha256:2756c280e97f5c73b7f8ed1cdae9b3e0f2871720be7d82785b6b81ef1fb84366Source, line 303

type/infinite-of-injection.{l, m} :
  (A : Sort l) (B : Sort m) (source-infinite : type/infinite B) (mapping : B → A)
  (injective : ∀ (left : B), ∀ (right : B), ∀ (same-image : mapping left = mapping right), left = right)
  → type/infinite A

= = equality/Eq