Skip to content

Commit 7fcbcb0

Browse files
committed
add: section-cong congruence proof
1 parent b855ebc commit 7fcbcb0

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

src/Function/Construct/Symmetry.agda

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,29 +34,29 @@ private
3434
-- Properties
3535

3636
module _ {≈₁ : Rel A ℓ₁} {≈₂ : Rel B ℓ₂} {f : A B}
37-
((inj , surj) : Bijective ≈₁ ≈₂ f)
37+
((inj , surj) : Bijective ≈₁ ≈₂ f) (refl : Reflexive ≈₁)
3838
where
3939

4040
open IsSurjective {≈₂ = ≈₂} surj
4141
using (section; section-strictInverseˡ)
4242

43-
module _ (refl : Reflexive ≈₁) where
43+
private f∘section≡id = section-strictInverseˡ refl
4444

45-
private
45+
section-cong : Symmetric ≈₂ Transitive ≈₂ Congruent ≈₂ ≈₁ section
46+
section-cong sym trans =
47+
inj ∘ trans (f∘section≡id _) ∘ sym ∘ trans (f∘section≡id _) ∘ sym
4648

47-
f∘section≡id = section-strictInverseˡ refl
49+
injective : Symmetric ≈₂ Transitive ≈₂
50+
Congruent ≈₁ ≈₂ f Injective ≈₂ ≈₁ section
51+
injective sym trans cong gx≈gy =
52+
trans (trans (sym (f∘section≡id _)) (cong gx≈gy)) (f∘section≡id _)
4853

49-
injective : Symmetric ≈₂ Transitive ≈₂
50-
Congruent ≈₁ ≈₂ f Injective ≈₂ ≈₁ section
51-
injective sym trans cong gx≈gy =
52-
trans (trans (sym (f∘section≡id _)) (cong gx≈gy)) (f∘section≡id _)
54+
surjective : Transitive ≈₂ Surjective ≈₂ ≈₁ section
55+
surjective trans x = f x , inj ∘ trans (f∘section≡id _)
5356

54-
surjective : Transitive ≈₂ Surjective ≈₂ ≈₁ section
55-
surjective trans x = f x , inj ∘ trans (f∘section≡id _)
56-
57-
bijective : Symmetric ≈₂ Transitive ≈₂
57+
bijective : Symmetric ≈₂ Transitive ≈₂
5858
Congruent ≈₁ ≈₂ f Bijective ≈₂ ≈₁ section
59-
bijective sym trans cong = injective sym trans cong , surjective trans
59+
bijective sym trans cong = injective sym trans cong , surjective trans
6060

6161
module _ (≈₁ : Rel A ℓ₁) (≈₂ : Rel B ℓ₂) {f : A B} {f⁻¹ : B A} where
6262

0 commit comments

Comments
 (0)