Skip to content

Commit a62144a

Browse files
Base, Closness and Lip[shits with fast integers, and no Lems
1 parent a0f916e commit a62144a

File tree

7 files changed

+193
-122
lines changed

7 files changed

+193
-122
lines changed

Cubical/Data/Rationals/Fast/Base.agda

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ isEquivRel.transitive isEquivRel∼ (a , b) (c , d) (e , f) p q = ·rCancel _ _
5454
eq/⁻¹ : x y Path ℚ [ x ] [ y ] x ∼ y
5555
eq/⁻¹ = SetQuotient.effective (λ _ _ isSetℤ _ _) isEquivRel∼
5656

57+
eqℚ : {k m k' m'} (k , 1+ m) ∼ (k' , 1+ m') [ k / 1+ m ] ≡ [ k' / 1+ m' ]
58+
eqℚ = eq/ _ _
59+
5760
discreteℚ : Discrete ℚ
5861
discreteℚ = discreteSetQuotients isEquivRel∼ (λ _ _ discreteℤ _ _)
5962

Cubical/Data/Rationals/Fast/Order.agda

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -945,3 +945,33 @@ clamp d u x = ℚ.min (ℚ.max d x) u
945945

946946
[k/n]≤[k'/n] : k k' n k ℤ.≤ k' ([ ( k , n ) ]) ≤ ([ (k' , n) ])
947947
[k/n]≤[k'/n] k k' n k<k' = inj (ℤ.≤-·o {k} k<k')
948+
949+
950+
eqElim₊ : (lrhs : ℚ₊ ℚ × ℚ)
951+
( {k m} fst (lrhs ([ ((ℤ.pos (suc k)) , 1+ m) ] , tt))
952+
≡ snd (lrhs ([ ((ℤ.pos (suc k)) , 1+ m) ] , tt)))
953+
: ℚ₊) fst (lrhs ε) ≡ snd (lrhs ε)
954+
eqElim₊ lrhs p = uncurry (ElimProp.go w)
955+
where
956+
w : ElimProp (λ z p fst (lrhs (z , p)) ≡ snd (lrhs (z , p)))
957+
w .ElimProp.isPropB _ = isPropΠ λ _ isSetℚ _ _
958+
w .ElimProp.f (ℤ.pos (suc n) , (1+ n₁)) _ = p {n} {n₁}
959+
960+
961+
substℚ₊ : {ℓ} (A : Type ℓ) (lrhs : ℚ₊ ℚ × ℚ)
962+
( {k m} fst (lrhs ([ ((ℤ.pos (suc k)) , 1+ m) ] , tt))
963+
≡ snd (lrhs ([ ((ℤ.pos (suc k)) , 1+ m) ] , tt)))
964+
: ℚ₊) A (fst (lrhs ε)) A (snd (lrhs ε))
965+
substℚ₊ A lrhs p ε =
966+
subst A (eqElim₊ lrhs p ε)
967+
968+
969+
eqElim₂₊ : {lhs rhs : ℚ₊ ℚ₊ ℚ}
970+
( k m k' m' lhs ([ ((ℤ.pos (suc k)) , 1+ m) ] , tt) ([ ((ℤ.pos (suc k')) , 1+ m') ] , tt)
971+
≡ rhs ([ ((ℤ.pos (suc k)) , 1+ m) ] , tt) ([ ((ℤ.pos (suc k')) , 1+ m') ] , tt))
972+
{ε ε' : ℚ₊} lhs ε ε' ≡ rhs ε ε'
973+
eqElim₂₊ {lhs} {rhs} p {ε , 0<ε} {ε' , 0<ε'} = ElimProp2.go w ε ε' 0<ε 0<ε'
974+
where
975+
w : ElimProp2 (λ z z' p p' lhs (z , p) (z' , p') ≡ rhs (z , p) (z' , p'))
976+
w .ElimProp2.isPropB _ _ = isPropΠ2 λ _ _ isSetℚ _ _
977+
w .ElimProp2.f (ℤ.pos (suc n) , (1+ n₁)) (ℤ.pos (suc m) , (1+ m₁)) _ _ = p n n₁ m m₁

Cubical/HITs/CauchyReals/Base.agda

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
{-# OPTIONS --safe #-}
21
module Cubical.HITs.CauchyReals.Base where
32

43
open import Cubical.Foundations.Prelude hiding (Path)
54
open import Cubical.Foundations.Function
65
open import Cubical.Foundations.HLevels
76

87
open import Cubical.Data.Int as ℤ
9-
open import Cubical.Data.Rationals as ℚ
10-
open import Cubical.Data.Rationals.Order as ℚ
8+
open import Cubical.Data.Rationals.Fast as ℚ
9+
open import Cubical.Data.Rationals.Fast.Order as ℚ
1110

1211
open import Cubical.Data.NatPlusOne
1312

Cubical/HITs/CauchyReals/Closeness.agda

Lines changed: 44 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
{-# OPTIONS --safe #-}
21
module Cubical.HITs.CauchyReals.Closeness where
32

43
open import Cubical.Foundations.Prelude hiding (Path)
@@ -11,17 +10,15 @@ open import Cubical.Functions.FunExtEquiv
1110
import Cubical.Functions.Logic as L
1211

1312
open import Cubical.Data.Sigma hiding (Path)
14-
open import Cubical.Data.Rationals as ℚ
15-
open import Cubical.Data.Rationals.Order as ℚ
16-
open import Cubical.Data.Rationals.Order.Properties as ℚ
13+
open import Cubical.Data.Rationals.Fast as ℚ
14+
open import Cubical.Data.Rationals.Fast.Order as ℚ
15+
open import Cubical.Data.Rationals.Fast.Order.Properties as ℚ
1716
open import Cubical.Relation.Binary.Properties
1817

1918
open import Cubical.HITs.PropositionalTruncation as PT
2019

2120
open import Cubical.HITs.CauchyReals.Base
22-
open import Cubical.HITs.CauchyReals.Lems
23-
24-
21+
open import Cubical.Tactics.CommRingSolver.FastRationalsReflection
2522

2623
-- HoTT Lemma (11.3.8)
2724
refl∼ : r ε r ∼[ ε ] r
@@ -148,12 +145,16 @@ w-rel'⇒ : ∀ x y → (∀ ε → w-rel' x y ε) → ∀ ε
148145
w-rel'⇒ x y x₁ ε x₂ =
149146
let z = fst (snd x ε) x₂
150147
z' = PT.map (λ (δ , xx)
151-
/2₊ δ , PT.map
148+
let w : /2₊δ (/2₊δ) +
149+
(fst ε - (/2₊δ + /2₊δ))
150+
≡ (fst ε - (/2₊δ))
151+
w /2₊δ = ℚ!
152+
in /2₊ δ , PT.map
152153
(λ (xxx , xxx')
153154
substΣ< y
154155
(cong (λ zz fst (/2₊ δ) ℚ.+ (fst ε ℚ.- zz))
155156
(sym (ε/2+ε/2≡ε (fst δ))) ∙
156-
lem--08 {fst (/2₊ δ)} {fst ε})
157+
w (fst (/2₊ δ)))
157158
(_ , (fst (x₁ (/2₊ δ) _) xxx')))
158159
xx) z
159160
in snd (snd y ε)
@@ -239,8 +240,7 @@ l-l 𝕒 .snd ε .fst =
239240
PT.map (map-snd (λ {q'} PT.map
240241
(λ (x , x') strength-lem-01 ε (δ ℚ₊+ η) q' x , ∣ (δ , η) ,
241242
subst (Σ< (fst ∘ (fst (𝕒 δ η))))
242-
(+AssocCommR (fst ε) (ℚ.- (fst δ ℚ.+ fst η))
243-
(ℚ.- fst q'))
243+
ℚ!
244244
(x , x')
245245
∣₁ )))
246246
(fst (snd (𝕒 δ η) _) y))
@@ -252,16 +252,15 @@ l-l 𝕒 .snd ε .snd =
252252
λ {(δ , η)} (x , x') strength-lem-01 ε q' (δ ℚ₊+ η) x ,
253253
(snd (snd (𝕒 δ η) _) ∣ q' , ∣
254254
subst (Σ< (fst ∘ (fst (𝕒 δ η))))
255-
(sym ((+AssocCommR (fst ε) (ℚ.- (fst δ ℚ.+ fst η))
256-
(ℚ.- fst q'))))
255+
ℚ!
257256
(x , x') ∣₁ ∣₁) )))
258257

259258
rel-r-r : 𝕢 (q r : ℚ) (ε : Σ ℚ 0<_)
260259
(ℚ.- fst ε) ℚ.< (q ℚ.- r)
261260
(q ℚ.- r) ℚ.< fst ε w-rel' (r-r 𝕢 q) (r-r 𝕢 r) ε
262261
rel-r-r 𝕢 q r ε x x₁ η =
263262
let z : (((q ℚ.- r) ℚ.+ (𝕢 ℚ.- q)) ≡ (𝕢 ℚ.- r))
264-
z = lem--09 {q} {r} {𝕢}
263+
z = ℚ!
265264
in (λ (u , v)
266265
subst2 ℚ._<_
267266
(sym $ ℚ.-Distr (fst ε) (fst η))
@@ -278,15 +277,15 @@ rel-r-r 𝕢 q r ε x x₁ η =
278277
(ℚ.minus-< (q ℚ.- r) (fst ε) x₁) u
279278

280279
in subst2 ℚ._<_ (sym $ ℚ.-Distr (fst ε) (fst η) )
281-
(lem--010 {q} {r} {𝕢}) zz
280+
ℚ! zz
282281
,
283282
let zz = ℚ.<Monotone+
284283
(ℚ.- (q ℚ.- r)) (ℚ.- (ℚ.- (fst ε))) (𝕢 ℚ.- r)
285284
(fst η) (minus-< (ℚ.- (fst ε)) (q ℚ.- r) x) v
286285
in subst2 {x = (ℚ.- (q ℚ.- r)) ℚ.+ (𝕢 ℚ.- r)} {𝕢 ℚ.- q}
287286
{z = (ℚ.- (ℚ.- fst ε)) ℚ.+ fst η} {fst (ε ℚ₊+ η)}
288287
ℚ._<_
289-
(lem--010 {q} {r} {𝕢}) (lem--012 {fst ε} {fst η}) zz)
288+
ℚ! ℚ! zz)
290289

291290
rel-r-l : 𝕢 (q : ℚ) (y : ℚ₊ Σ (ℚ₊ hProp ℓ-zero) w-prop')
292291
: ℚ₊) (p : (δ ε₁ : ℚ₊) w-rel' (y δ) (y ε₁) (δ ℚ₊+ ε₁))
@@ -297,9 +296,9 @@ rel-r-l 𝕢 q y ε p δ v₁ x η .fst xx' =
297296
let z = fst (x η) xx'
298297
in ∣ δ , (subst {x = fst η ℚ.+ (fst ε ℚ.- fst δ)}
299298
{y = (fst (ε ℚ₊+ η) ℚ.- fst δ)} 0<_
300-
(lem--013 {fst η} {fst ε} {fst δ})
299+
ℚ!
301300
(+0< (fst η) (fst ε ℚ.- fst δ) (snd η) v₁) ,
302-
subst (fst ∘ fst (y δ)) (ℚ₊≡ (lem--014 {fst ε} {fst δ} {fst η})) z ) ∣₁
301+
subst (fst ∘ fst (y δ)) (ℚ₊≡ ℚ!) z ) ∣₁
303302

304303
rel-r-l 𝕢 q y ε p δ v₁ x η .snd =
305304
PT.rec (snd (rat-rat' 𝕢 (ε ℚ₊+ η) q))
@@ -311,7 +310,7 @@ rel-r-l 𝕢 q y ε p δ v₁ x η .snd =
311310
((σ* ℚ₊+ δ) ℚ₊+ ((fst η ℚ.- fst σ*) , xx)))}
312311
{(ε ℚ₊+ η)}
313312
(λ xxx ⟨ rat-rat' 𝕢 xxx q ⟩)
314-
(ℚ₊≡ (lem--015 {fst ε} {fst δ} {fst σ*} {fst η})) z'
313+
(ℚ₊≡ ℚ!) z'
315314

316315
rel-l-l' : (x y : ℚ₊ Σ (ℚ₊ hProp ℓ-zero) w-prop') (ε δ η : ℚ₊)
317316
(p : (δ₁ ε₁ : ℚ₊) w-rel' (x δ₁) (x ε₁) (δ₁ ℚ₊+ ε₁))
@@ -325,12 +324,13 @@ rel-l-l' x y ε δ η p p' v₁ η' x₁ =
325324
let zz = fst (p a δ _) xx'
326325
zz' = x₁ _ zz
327326
in η ,
328-
subst (ℚ.0<_)
329-
(lem-02 (fst ε) (fst δ) (fst η) (fst η'))
330-
(+0< (fst ε ℚ.- (fst δ ℚ.+ fst η))
331-
(fst (δ ℚ₊+ η')) v₁ (snd (δ ℚ₊+ η')))
327+
subst {x = ((fst ε - (fst δ + fst η)) + fst (δ ℚ₊+ η'))}
328+
{y = (fst (ε ℚ₊+ η') - fst η)} (ℚ.0<_)
329+
ℚ!
330+
((+0< (fst ε ℚ.- (fst δ ℚ.+ fst η))
331+
(fst (δ ℚ₊+ η')) v₁ (snd (δ ℚ₊+ η'))))
332332
, (subst (fst ∘ y η .fst)
333-
(ℚ₊≡ (lem-01 (fst ε) (fst δ) (fst η) (fst η') (fst a))) zz'))
333+
(ℚ₊≡ ℚ!) zz'))
334334

335335

336336

@@ -433,10 +433,9 @@ rel-l-l-l {𝕒} x y ε δ η p p' v₁ r η₁ .fst =
433433
(fst δ ℚ.+ fst η*)
434434
(fst (ε ℚ₊+ η₁) ℚ.- (fst δ* ℚ.+ fst η))
435435
xx v₁ (snd (δ ℚ₊+ η*))
436-
(lem--016 {fst η₁} {fst δ*} {fst η*} {fst ε} {fst δ}) ,
436+
ℚ! ,
437437
subst (λ xx ⟨ 𝕒 δ* .fst xx (y η)⟩)
438-
(ℚ₊≡ (lem-03 (fst ε) (fst η₁)
439-
(fst δ) (fst η) (fst δ*) (fst η*)))
438+
(ℚ₊≡ ℚ!)
440439
z')
441440
rel-l-l-l {𝕒} x y ε δ η p p' v₁ r η₁ .snd =
442441
PT.map λ ((δ* , η*) , (xx , xx'))
@@ -448,12 +447,10 @@ rel-l-l-l {𝕒} x y ε δ η p p' v₁ r η₁ .snd =
448447
(fst ε ℚ.- (fst δ ℚ.+ fst η))
449448
(fst η ℚ.+ fst η*)
450449
(fst (ε ℚ₊+ η₁) ℚ.- (fst δ* ℚ.+ fst δ))
451-
xx v₁ (snd (η ℚ₊+ η*))
452-
(lem--017 {fst η₁} {fst δ*} {fst η*} {fst ε} {fst δ}) ,
450+
xx v₁ (snd (η ℚ₊+ η*)) ℚ! ,
453451
(
454452
subst (λ xx ⟨ 𝕒 δ* .fst xx (x δ)⟩)
455-
(ℚ₊≡ (lem-04 (fst ε) (fst η₁)
456-
(fst δ) (fst η) (fst δ*) (fst η*)))
453+
(ℚ₊≡ ℚ!)
457454
z') )
458455
module ∼' where
459456

@@ -513,27 +510,23 @@ module ∼' where
513510
PT.map
514511
λ ((δ* , η*) , (xx , xx'))
515512
let z = snd (snd (𝕒 _)) _ _ _ _ r xx'
516-
in ((δ* , η*) , δ) , substΣ<' (𝕒 (δ* , η*)) _
517-
(lem--018 {fst ε} {fst δ} {fst η} {δ*} ) (_ , z)
513+
in ((δ* , η*) , δ) , substΣ<' (𝕒 (δ* , η*)) _ ℚ! (_ , z)
518514
w'' 𝕒 𝕡 .Casesℝ.rat-lim-B q y ε δ p v₁ r v' u' x η .snd =
519515
PT.map
520516
λ ((δ* , η*) , (xx , xx'))
521517
let z = snd (snd (𝕒 _)) _ _ _ _ (p _ _) xx'
522518
z' = snd (snd (𝕒 _)) _ _ _ _ (sym∼ _ _ _ r) z
523-
in δ* , substΣ<' (𝕒 δ*) _
524-
(lem--019 {fst ε} {fst δ} {fst η*} {fst η} {fst δ*} ) (_ , z')
519+
in δ* , substΣ<' (𝕒 δ*) _ ℚ! (_ , z')
525520
w'' 𝕒 𝕡 .Casesℝ.lim-rat-B x r ε δ p v₁ u v' u' x₁ η .fst =
526521
PT.map λ ((δ* , η*) , (xx , xx'))
527522
let z = snd (snd (𝕒 _)) _ _ _ _ (p _ _) xx'
528523
z' = snd (snd (𝕒 _)) _ _ _ _ u z
529-
in δ* , substΣ<' (𝕒 δ*) _
530-
(lem--020 {fst ε} {fst δ} {fst η*} {fst η} {fst δ*}) (_ , z')
524+
in δ* , substΣ<' (𝕒 δ*) _ ℚ! (_ , z')
531525
w'' 𝕒 𝕡 .Casesℝ.lim-rat-B x r ε δ p v₁ u v' u' x₁ η .snd =
532526
PT.map
533527
λ ((δ* , η*) , (xx , xx'))
534528
let z = snd (snd (𝕒 _)) _ _ _ _ (sym∼ _ _ _ u) xx'
535-
in ((δ* , η*) , δ) , substΣ<' (𝕒 (δ* , η*)) _
536-
((lem--021 {fst ε} {fst δ} {fst η} {δ*})) (_ , z)
529+
in ((δ* , η*) , δ) , substΣ<' (𝕒 (δ* , η*)) _ ℚ! (_ , z)
537530
w'' 𝕒 𝕡 .Casesℝ.lim-lim-B = rel-l-l-l {𝕒}
538531
w'' 𝕒 𝕡 .Casesℝ.isPropB a a' ε =
539532
isPropΠ λ x
@@ -588,7 +581,7 @@ module ∼' where
588581
www : Elimℝ-Prop _
589582
www .Elimℝ-Prop.ratA x* η .fst xx =
590583
let zz = fst (x (rat x*) η) xx
591-
in ∣ δ , substΣ<' (y δ) _ (lem--022 {fst ε} {fst δ} {fst η}) (_ , zz) ∣₁
584+
in ∣ δ , substΣ<' (y δ) _ ℚ! (_ , zz) ∣₁
592585

593586
www .Elimℝ-Prop.ratA x* η .snd =
594587
PT.rec (snd (fst (Recℝ.go (w' q) (rat x*)) (ε ℚ₊+ η)))
@@ -598,20 +591,18 @@ module ∼' where
598591
in subst {x = (((fst ε ℚ.- fst δ) , v₁) ℚ₊+
599592
((δ ℚ₊+ δ*) ℚ₊+ ((fst η ℚ.- fst δ*) , xx)))}
600593
{y = (ε ℚ₊+ η)} (fst ∘ fst (Recℝ.go (w' q) (rat x*)))
601-
(ℚ₊≡ (lem--023 {fst ε} {fst δ} {fst δ*} {fst η})) zz'
594+
(ℚ₊≡ ℚ!) zz'
602595

603596
www .Elimℝ-Prop.limA x* p* x₁* η* .fst =
604597
PT.map λ (δ* , (xx , xx'))
605598
let z = fst (x (x* δ*) (_ , xx)) xx'
606599

607-
in (δ , δ*) , substΣ<' (y δ) _
608-
(lem--024 {fst ε} {fst δ} {fst η*} {fst δ*}) (_ , z)
600+
in (δ , δ*) , substΣ<' (y δ) _ ℚ! (_ , z)
609601
www .Elimℝ-Prop.limA x'' pp'' x₁'' η'' .snd =
610602
PT.map λ ((δ* , η*) , (xx , xx'))
611603
let z = fst (p _ _ _ _) xx'
612604
z' = snd (x (x'' η*) _) z
613-
in η* , substΣ< (Elimℝ.go (Recℝ.d (w' q)) (x'' η*))
614-
(lem--025 {fst ε} {fst δ} {fst δ*} {fst η''}) (_ , z')
605+
in η* , substΣ< (Elimℝ.go (Recℝ.d (w' q)) (x'' η*)) ℚ! (_ , z')
615606

616607
www .Elimℝ-Prop.isPropA = isPropHlp
617608
(λ x η fst (Casesℝ.go (w'' y p) x) (ε ℚ₊+ η))
@@ -630,23 +621,21 @@ module ∼' where
630621
((δ ℚ₊+ δ*) ℚ₊+ ((fst η' ℚ.- fst δ*) , xx)))}
631622
{(ε ℚ₊+ η')}
632623
(fst ∘ (fst (Recℝ.go (w' r) (rat x'))))
633-
(ℚ₊≡ $ lem--026 {fst ε} {fst δ} {fst δ*} {fst η'}) zz'
624+
(ℚ₊≡ $ ℚ!) zz'
634625
www .Elimℝ-Prop.ratA x' η' .snd xx =
635626
let zz = snd (x₁ (rat x') η') xx
636-
in ∣ δ , substΣ<' (x δ) _ (lem--027 {fst ε} {fst δ} {fst η'}) (_ , zz) ∣₁
627+
in ∣ δ , substΣ<' (x δ) _ ℚ! (_ , zz) ∣₁
637628

638629
www .Elimℝ-Prop.limA x' p' x₁' η' .fst =
639630
PT.map λ ((δ* , η*) , (xx , xx'))
640631
let z = fst (p _ _ _ _) xx'
641632
z' = fst (x₁ (x' η*) _) z
642-
in η* , substΣ< (Recℝ.go (w' r) (x' η*))
643-
((lem--028 {fst ε} {fst δ} {fst δ*} {fst η'} {fst η*})) (_ , z')
633+
in η* , substΣ< (Recℝ.go (w' r) (x' η*)) ℚ! (_ , z')
644634
www .Elimℝ-Prop.limA x' p' x₁' η' .snd =
645635
PT.map λ (δ* , (xx , xx'))
646636
let z = snd (x₁ (x' δ*) ((fst η' ℚ.- fst δ*) , xx)) xx'
647637

648-
in (δ , δ*) , substΣ<' (x δ) _
649-
(lem--029 {fst ε} {fst δ} {fst η'} {fst δ*}) (_ , z)
638+
in (δ , δ*) , substΣ<' (x δ) _ ℚ! (_ , z)
650639
www .Elimℝ-Prop.isPropA = isPropHlp
651640
(λ x η fst (Recℝ.go (w' r) x) (ε ℚ₊+ η))
652641
λ x₂ η fst (Casesℝ.go (w'' x p) x₂) (ε ℚ₊+ η)
@@ -658,14 +647,12 @@ module ∼' where
658647
PT.map λ ((δ* , η*) , (xx , xx'))
659648
let z = fst ((p _ _) _ _) xx'
660649
z' = fst (x₁ _ _) z
661-
in η , substΣ<' (y η) _
662-
(lem--030 {fst ε} {fst δ} {fst η} {δ*} {fst η'}) (_ , z')
650+
in η , substΣ<' (y η) _ ℚ! (_ , z')
663651
www .Elimℝ-Prop.ratA x* η' .snd =
664652
PT.map λ ((δ* , η*) , (xx , xx'))
665653
let z = fst ((p' _ _) _ _) xx'
666654
z' = snd (x₁ _ _) z
667-
in δ , substΣ<' (x δ) _
668-
(lem--031 {fst ε} {fst δ} {fst η} {δ*} {fst η'} ) (_ , z')
655+
in δ , substΣ<' (x δ) _ ℚ! (_ , z')
669656
www .Elimℝ-Prop.limA x* p* x₁' η₁ .fst =
670657
PT.map λ ((δ* , η*) , (xx , xx'))
671658
let z = (fst (p δ* δ (x* η*) _)) xx'
@@ -676,15 +663,12 @@ module ∼' where
676663
(x* η*))
677664
z' = fst (x₁ _ _) z
678665
in (η , η*) ,
679-
substΣ<' (y η) _
680-
(lem--032 {fst ε} {fst δ} {fst η} {fst δ*} {fst η₁} {fst η*})
681-
(_ , z')
666+
substΣ<' (y η) _ ℚ! (_ , z')
682667
www .Elimℝ-Prop.limA x* p x₁' η₁ .snd =
683668
PT.map λ ((δ* , η*) , (xx , xx'))
684669
let z = (fst (p' _ _ _ _)) xx'
685670
z' = snd (x₁ _ _) z
686-
in (δ , η*) , substΣ<' (x δ) _
687-
(lem--033 {fst ε} {fst δ} {fst η} {fst δ*} {fst η₁} {fst η*}) (_ , z')
671+
in (δ , η*) , substΣ<' (x δ) _ ℚ! (_ , z')
688672

689673
www .Elimℝ-Prop.isPropA = isPropHlp
690674
(λ x₂ η₂ fst (Casesℝ.go (w'' y p') x₂) (ε ℚ₊+ η₂))
@@ -783,8 +767,6 @@ sym∼' : ∀ r r' ε → r ∼'[ ε ] r' → r' ∼'[ ε ] r
783767
sym∼' r r' ε =
784768
∼→∼' r' r ε ∘S sym∼ r r' ε ∘S ∼'→∼ r r' ε
785769

786-
787-
788770
-- (11.3.22)
789771
triangle∼'' : u v w ε η
790772
u ∼'[ ε ] v

0 commit comments

Comments
 (0)