Bi-invertible equivalence #3

Closed
opened 2023-05-15 05:35:04 +00:00 by michael · 2 comments
Owner

Use bi-invertible maps to prove that Bool-id is an equivalence

Use bi-invertible maps to prove that Bool-id is an equivalence
Author
Owner
Bool-id : Bool  Bool
Bool-id true = true
Bool-id false = false

Bool-id-pointwise : (b : Bool)  Bool-id (Bool-id b)  b
Bool-id-pointwise true = refl
Bool-id-pointwise false = refl

Bool-id-equiv : Bool-id  Bool-id  id
Bool-id-equiv = funExt Bool-id-pointwise

Bool-linv : linv Bool-id
Bool-linv .fst = Bool-id
Bool-linv .snd = funExt Bool-id-pointwise

Bool-rinv : rinv Bool-id
Bool-rinv .fst = Bool-id
Bool-rinv .snd = funExt Bool-id-pointwise

Bool-id-biinv : BiInvEquiv Bool Bool
Bool-id-biinv = biInvEquiv
  Bool-id
  Bool-id Bool-id-pointwise
  Bool-id Bool-id-pointwise

Bool-id-iso : Iso Bool Bool
Bool-id-iso = iso
  Bool-id
  Bool-id
  Bool-id-pointwise
  Bool-id-pointwise

Bool-id-biinv-equiv : Bool  Bool
Bool-id-biinv-equiv = Bool-id , isoToIsEquiv Bool-id-iso

Bool-id-path : Bool  Bool
Bool-id-path = ua Bool-id-biinv-equiv
```agda Bool-id : Bool → Bool Bool-id true = true Bool-id false = false Bool-id-pointwise : (b : Bool) → Bool-id (Bool-id b) ≡ b Bool-id-pointwise true = refl Bool-id-pointwise false = refl Bool-id-equiv : Bool-id ∘ Bool-id ≡ id Bool-id-equiv = funExt Bool-id-pointwise Bool-linv : linv Bool-id Bool-linv .fst = Bool-id Bool-linv .snd = funExt Bool-id-pointwise Bool-rinv : rinv Bool-id Bool-rinv .fst = Bool-id Bool-rinv .snd = funExt Bool-id-pointwise Bool-id-biinv : BiInvEquiv Bool Bool Bool-id-biinv = biInvEquiv Bool-id Bool-id Bool-id-pointwise Bool-id Bool-id-pointwise Bool-id-iso : Iso Bool Bool Bool-id-iso = iso Bool-id Bool-id Bool-id-pointwise Bool-id-pointwise Bool-id-biinv-equiv : Bool ≃ Bool Bool-id-biinv-equiv = Bool-id , isoToIsEquiv Bool-id-iso Bool-id-path : Bool ≡ Bool Bool-id-path = ua Bool-id-biinv-equiv ```
Author
Owner

I think this is resolved in 9716b4b69b ?

reason for i think is because the Iso doesn't actually use the BiInvEquiv itself, but i think that's fine for now

I _think_ this is resolved in 9716b4b69b3af70dcab68ed3d5321adb8789dfbd ? reason for i think is because the `Iso` doesn't actually use the `BiInvEquiv` itself, but i think that's fine for now
michael added this to the (deleted) project 2023-05-15 23:26:44 +00:00
michael added the
T-equivalence
label 2023-05-17 09:55:54 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: school/type-theory#3
No description provided.