@@ -12,14 +12,23 @@ open import commutative-algebra.invertible-elements-commutative-rings
1212open import commutative-algebra.local-commutative-rings
1313open import commutative-algebra.trivial-commutative-rings
1414
15+ open import foundation.apartness-relations
16+ open import foundation.binary-relations
1517open import foundation.conjunction
1618open import foundation.dependent-pair-types
19+ open import foundation.function-types
20+ open import foundation.functoriality-disjunction
21+ open import foundation.identity-types
1722open import foundation.negation
1823open import foundation.propositions
1924open import foundation.sets
2025open import foundation.subtypes
26+ open import foundation.tight-apartness-relations
27+ open import foundation.transport-along-identifications
2128open import foundation.universe-levels
2229
30+ open import group-theory.abelian-groups
31+
2332open import ring-theory.rings
2433```
2534
@@ -88,9 +97,18 @@ module _
8897 commutative-ring-Heyting-Field =
8998 commutative-ring-Local-Commutative-Ring local-commutative-ring-Heyting-Field
9099
100+ is-local-commutative-ring-Heyting-Field :
101+ is-local-Commutative-Ring commutative-ring-Heyting-Field
102+ is-local-commutative-ring-Heyting-Field =
103+ is-local-commutative-ring-Local-Commutative-Ring
104+ ( local-commutative-ring-Heyting-Field)
105+
91106 ring-Heyting-Field : Ring l
92107 ring-Heyting-Field = ring-Commutative-Ring commutative-ring-Heyting-Field
93108
109+ ab-Heyting-Field : Ab l
110+ ab-Heyting-Field = ab-Ring ring-Heyting-Field
111+
94112 type-Heyting-Field : UU l
95113 type-Heyting-Field = type-Ring ring-Heyting-Field
96114
@@ -100,6 +118,9 @@ module _
100118 zero-Heyting-Field : type-Heyting-Field
101119 zero-Heyting-Field = zero-Ring ring-Heyting-Field
102120
121+ is-zero-Heyting-Field : type-Heyting-Field → UU l
122+ is-zero-Heyting-Field = is-zero-Ring ring-Heyting-Field
123+
103124 one-Heyting-Field : type-Heyting-Field
104125 one-Heyting-Field = one-Ring ring-Heyting-Field
105126
@@ -113,6 +134,152 @@ module _
113134
114135 neg-Heyting-Field : type-Heyting-Field → type-Heyting-Field
115136 neg-Heyting-Field = neg-Ring ring-Heyting-Field
137+
138+ diff-Heyting-Field :
139+ type-Heyting-Field → type-Heyting-Field → type-Heyting-Field
140+ diff-Heyting-Field x y =
141+ add-Heyting-Field x (neg-Heyting-Field y)
142+
143+ is-invertible-element-prop-Heyting-Field : type-Heyting-Field → Prop l
144+ is-invertible-element-prop-Heyting-Field =
145+ is-invertible-element-prop-Commutative-Ring commutative-ring-Heyting-Field
146+
147+ is-invertible-element-Heyting-Field : type-Heyting-Field → UU l
148+ is-invertible-element-Heyting-Field x =
149+ type-Prop (is-invertible-element-prop-Heyting-Field x)
150+
151+ is-zero-is-not-invertible-element-Heyting-Field :
152+ (x : type-Heyting-Field) → ¬ (is-invertible-element-Heyting-Field x) →
153+ is-zero-Heyting-Field x
154+ is-zero-is-not-invertible-element-Heyting-Field = pr2 (pr2 F)
155+
156+ is-nontrivial-commutative-ring-Heyting-Field :
157+ is-nontrivial-Commutative-Ring commutative-ring-Heyting-Field
158+ is-nontrivial-commutative-ring-Heyting-Field = pr1 (pr2 F)
159+
160+ right-inverse-law-add-Heyting-Field :
161+ (x : type-Heyting-Field) → diff-Heyting-Field x x = zero-Heyting-Field
162+ right-inverse-law-add-Heyting-Field =
163+ right-inverse-law-add-Ring ring-Heyting-Field
164+
165+ left-zero-law-mul-Heyting-Field :
166+ (x : type-Heyting-Field) →
167+ mul-Heyting-Field zero-Heyting-Field x = zero-Heyting-Field
168+ left-zero-law-mul-Heyting-Field = left-zero-law-mul-Ring ring-Heyting-Field
169+
170+ ap-mul-Heyting-Field :
171+ {x x' y y' : type-Heyting-Field} → x = x' → y = y' →
172+ mul-Heyting-Field x y = mul-Heyting-Field x' y'
173+ ap-mul-Heyting-Field = ap-mul-Ring ring-Heyting-Field
174+
175+ mul-neg-Heyting-Field :
176+ (x y : type-Heyting-Field) →
177+ mul-Heyting-Field (neg-Heyting-Field x) (neg-Heyting-Field y) =
178+ mul-Heyting-Field x y
179+ mul-neg-Heyting-Field = mul-neg-Ring ring-Heyting-Field
180+
181+ distributive-neg-diff-Heyting-Field :
182+ (x y : type-Heyting-Field) →
183+ neg-Heyting-Field (diff-Heyting-Field x y) = diff-Heyting-Field y x
184+ distributive-neg-diff-Heyting-Field =
185+ neg-right-subtraction-Ab ab-Heyting-Field
186+
187+ commutative-mul-Heyting-Field :
188+ (x y : type-Heyting-Field) → mul-Heyting-Field x y = mul-Heyting-Field y x
189+ commutative-mul-Heyting-Field =
190+ commutative-mul-Commutative-Ring commutative-ring-Heyting-Field
191+
192+ add-diff-Heyting-Field :
193+ (x y z : type-Heyting-Field) →
194+ add-Heyting-Field (diff-Heyting-Field x y) (diff-Heyting-Field y z) =
195+ diff-Heyting-Field x z
196+ add-diff-Heyting-Field =
197+ add-right-subtraction-Ab ab-Heyting-Field
198+
199+ eq-is-zero-diff-Heyting-Field :
200+ (x y : type-Heyting-Field) →
201+ is-zero-Heyting-Field (diff-Heyting-Field x y) →
202+ x = y
203+ eq-is-zero-diff-Heyting-Field x y =
204+ eq-is-zero-right-subtraction-Ab ab-Heyting-Field
205+ ```
206+
207+ ## Properties
208+
209+ ### Invertibility of ` x - y ` is a tight apartness relation
210+
211+ ``` agda
212+ module _
213+ {l : Level}
214+ (F : Heyting-Field l)
215+ where
216+
217+ apart-prop-Heyting-Field : Relation-Prop l (type-Heyting-Field F)
218+ apart-prop-Heyting-Field x y =
219+ is-invertible-element-prop-Heyting-Field F (diff-Heyting-Field F x y)
220+
221+ apart-Heyting-Field : Relation l (type-Heyting-Field F)
222+ apart-Heyting-Field = type-Relation-Prop apart-prop-Heyting-Field
223+
224+ abstract
225+ antirefl-apart-Heyting-Field : is-antireflexive apart-prop-Heyting-Field
226+ antirefl-apart-Heyting-Field x is-invertible-x-x =
227+ is-nontrivial-commutative-ring-Heyting-Field
228+ ( F)
229+ ( is-trivial-is-invertible-zero-Commutative-Ring
230+ ( commutative-ring-Heyting-Field F)
231+ ( tr
232+ ( is-invertible-element-Heyting-Field F)
233+ ( right-inverse-law-add-Heyting-Field F x)
234+ ( is-invertible-x-x)))
235+
236+ symmetric-apart-Heyting-Field : is-symmetric apart-Heyting-Field
237+ symmetric-apart-Heyting-Field x y is-invertible-⟨x-y⟩ =
238+ tr
239+ ( is-invertible-element-Heyting-Field F)
240+ ( distributive-neg-diff-Heyting-Field F x y)
241+ ( is-invertible-element-neg-is-invertible-element-Commutative-Ring
242+ ( commutative-ring-Heyting-Field F)
243+ ( _)
244+ ( is-invertible-⟨x-y⟩))
245+
246+ cotransitive-apart-Heyting-Field :
247+ is-cotransitive apart-prop-Heyting-Field
248+ cotransitive-apart-Heyting-Field x y z is-invertible-⟨x-y⟩ =
249+ map-disjunction
250+ ( id)
251+ ( symmetric-apart-Heyting-Field z y)
252+ ( is-local-commutative-ring-Heyting-Field F
253+ ( diff-Heyting-Field F x z)
254+ ( diff-Heyting-Field F z y)
255+ ( inv-tr
256+ ( is-invertible-element-Heyting-Field F)
257+ ( add-diff-Heyting-Field F x z y)
258+ ( is-invertible-⟨x-y⟩)))
259+
260+ apartness-relation-Heyting-Field : Apartness-Relation l (type-Heyting-Field F)
261+ apartness-relation-Heyting-Field =
262+ ( apart-prop-Heyting-Field ,
263+ antirefl-apart-Heyting-Field ,
264+ symmetric-apart-Heyting-Field ,
265+ cotransitive-apart-Heyting-Field)
266+
267+ abstract
268+ is-tight-apartness-relation-Heyting-Field :
269+ is-tight-Apartness-Relation apartness-relation-Heyting-Field
270+ is-tight-apartness-relation-Heyting-Field x y ¬apart-x-y =
271+ eq-is-zero-diff-Heyting-Field F
272+ ( x)
273+ ( y)
274+ ( is-zero-is-not-invertible-element-Heyting-Field F
275+ ( diff-Heyting-Field F x y)
276+ ( ¬apart-x-y))
277+
278+ tight-apartness-relation-Heyting-Field :
279+ Tight-Apartness-Relation l (type-Heyting-Field F)
280+ tight-apartness-relation-Heyting-Field =
281+ ( apartness-relation-Heyting-Field ,
282+ is-tight-apartness-relation-Heyting-Field)
116283```
117284
118285## External links
0 commit comments