File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change 11
11
module Function.Consequences where
12
12
13
13
open import Data.Product.Base as Product
14
+ open import Function.Base using (_∘_)
14
15
open import Function.Definitions
15
16
open import Level using (Level)
16
17
open import Relation.Binary.Core using (Rel)
@@ -81,6 +82,23 @@ strictlySurjective⇒surjective : Transitive ≈₂ →
81
82
strictlySurjective⇒surjective trans cong surj x =
82
83
Product.map₂ (λ fy≈x z≈y → trans (cong z≈y) fy≈x) (surj x)
83
84
85
+ module IsSurjective {f : A → B} (surjective : Surjective ≈₁ ≈₂ f) where
86
+
87
+ section : B → A
88
+ section = proj₁ ∘ surjective
89
+
90
+ section-inverseˡ : Inverseˡ ≈₁ ≈₂ f section
91
+ section-inverseˡ {x = x} = proj₂ (surjective x)
92
+
93
+ module _ (refl : Reflexive ≈₁) where
94
+
95
+ strictlySurjective : StrictlySurjective ≈₂ f
96
+ strictlySurjective = surjective⇒strictlySurjective ≈₂ refl surjective
97
+
98
+ section-strictInverseˡ : StrictlyInverseˡ ≈₂ f section
99
+ section-strictInverseˡ _ = section-inverseˡ refl
100
+
101
+
84
102
------------------------------------------------------------------------
85
103
-- StrictlyInverseˡ
86
104
You can’t perform that action at this time.
0 commit comments