Skip to content

Commit 01327a7

Browse files
authored
Double negation of trichotomy on the reals (#1694)
Just a little PR, for now...
1 parent ffa7c94 commit 01327a7

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed

src/real-numbers/strict-inequality-real-numbers.lagda.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ open import foundation.conjunction
1616
open import foundation.coproduct-types
1717
open import foundation.dependent-pair-types
1818
open import foundation.disjunction
19+
open import foundation.double-negation
1920
open import foundation.empty-types
2021
open import foundation.existential-quantification
2122
open import foundation.function-types
@@ -355,6 +356,16 @@ module _
355356
( is-located-lower-upper-cut-ℝ x p<q)
356357
```
357358

359+
### If `x` is less than `y`, then `x` is not similar to `y`
360+
361+
```agda
362+
abstract
363+
not-sim-le-ℝ :
364+
{l1 l2 : Level} {x : ℝ l1} {y : ℝ l2} → le-ℝ x y → ¬ sim-ℝ x y
365+
not-sim-le-ℝ {x = x} {y = y} x<y x~y =
366+
not-leq-le-ℝ x y x<y (leq-sim-ℝ (symmetric-sim-ℝ x~y))
367+
```
368+
358369
### If `x` is less than or equal to `y`, then `y` is not less than `x`
359370

360371
```agda
@@ -513,6 +524,77 @@ module _
513524
leq-le-rational-ℝ y x (forward-implication ∘ H))
514525
```
515526

527+
### It is irrefutable that either `a < b`, `a ~ b`, or `a > b`
528+
529+
```agda
530+
abstract
531+
532+
irrefutable-trichotomy-le-ℝ :
533+
{l1 l2 : Level} (a : ℝ l1) (b : ℝ l2) →
534+
¬¬ (le-ℝ a b + sim-ℝ a b + le-ℝ b a)
535+
irrefutable-trichotomy-le-ℝ a b ¬a<b+a~b+b<a =
536+
¬a<b+a~b+b<a
537+
( inr
538+
( inl
539+
( sim-sim-leq-ℝ
540+
( leq-not-le-ℝ b a (¬a<b+a~b+b<a ∘ inr ∘ inr) ,
541+
leq-not-le-ℝ a b (¬a<b+a~b+b<a ∘ inl)))))
542+
543+
irrefutable-trichotomy-le-ℝ' :
544+
{l1 l2 : Level} (a : ℝ l1) (b : ℝ l2) →
545+
¬¬ disjunction-type (disjunction-type (le-ℝ a b) (sim-ℝ a b)) (le-ℝ b a)
546+
irrefutable-trichotomy-le-ℝ' a b =
547+
map-double-negation
548+
( rec-coproduct
549+
( inl-disjunction ∘ inl-disjunction)
550+
( rec-coproduct (inl-disjunction ∘ inr-disjunction) inr-disjunction))
551+
( irrefutable-trichotomy-le-ℝ a b)
552+
```
553+
554+
### For any real numbers `a` and `b`, `a ≤ b` if and only if `a ~ b + a < b` is irrefutable {#MSEq5107860}
555+
556+
We reproduce a proof given by
557+
[Mark Saving](https://math.stackexchange.com/users/798694/mark-saving) in this
558+
Mathematics Stack Exchange answer: <https://math.stackexchange.com/q/5107860>.
559+
560+
```agda
561+
module _
562+
{l1 l2 : Level}
563+
(a : ℝ l1)
564+
(b : ℝ l2)
565+
where
566+
567+
abstract
568+
leq-irrefutable-sim-or-le-ℝ :
569+
¬¬ (sim-ℝ a b + le-ℝ a b) → leq-ℝ a b
570+
leq-irrefutable-sim-or-le-ℝ ¬¬a~b∨a<b =
571+
leq-not-le-ℝ
572+
( b)
573+
( a)
574+
( map-neg
575+
( λ b<a →
576+
rec-coproduct
577+
( λ a~b → not-le-leq-ℝ a b (leq-sim-ℝ a~b) b<a)
578+
( asymmetric-le-ℝ b<a))
579+
( ¬¬a~b∨a<b))
580+
581+
irrefutable-sim-or-le-leq-ℝ :
582+
leq-ℝ a b → ¬¬ (sim-ℝ a b + le-ℝ a b)
583+
irrefutable-sim-or-le-leq-ℝ a≤b =
584+
map-double-negation
585+
( rec-coproduct
586+
( inr)
587+
( rec-coproduct
588+
( inl)
589+
( ex-falso ∘ not-le-leq-ℝ a b a≤b)))
590+
( irrefutable-trichotomy-le-ℝ a b)
591+
592+
leq-iff-irrefutable-sim-or-le-ℝ :
593+
leq-ℝ a b ↔ ¬¬ (sim-ℝ a b + le-ℝ a b)
594+
leq-iff-irrefutable-sim-or-le-ℝ =
595+
( irrefutable-sim-or-le-leq-ℝ , leq-irrefutable-sim-or-le-ℝ)
596+
```
597+
516598
## References
517599

518600
{{#bibliography}}

0 commit comments

Comments
 (0)