@@ -34,29 +34,29 @@ private
34
34
-- Properties
35
35
36
36
module _ {≈₁ : Rel A ℓ₁} {≈₂ : Rel B ℓ₂} {f : A → B}
37
- ((inj , surj) : Bijective ≈₁ ≈₂ f)
37
+ ((inj , surj) : Bijective ≈₁ ≈₂ f) (refl : Reflexive ≈₁)
38
38
where
39
39
40
40
open IsSurjective {≈₂ = ≈₂} surj
41
41
using (section; section-strictInverseˡ)
42
42
43
- module _ (refl : Reflexive ≈₁) where
43
+ private f∘section≡id = section-strictInverseˡ refl
44
44
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
46
48
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 _)
48
53
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 _)
53
56
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 ≈₂ →
58
58
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
60
60
61
61
module _ (≈₁ : Rel A ℓ₁) (≈₂ : Rel B ℓ₂) {f : A → B} {f⁻¹ : B → A} where
62
62
0 commit comments