comparison automaton-in-agda/src/root2.agda @ 405:af8f630b7e60

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 24 Sep 2023 18:02:04 +0900
parents 407684f806e4
children a60132983557
comparison
equal deleted inserted replaced
404:dfaf230f7b9a 405:af8f630b7e60
1 {-# OPTIONS --cubical-compatible --safe #-}
2
1 module root2 where 3 module root2 where
2 4
3 open import Data.Nat 5 open import Data.Nat
4 open import Data.Nat.Properties 6 open import Data.Nat.Properties
5 open import Data.Empty 7 open import Data.Empty
84 -- p * n * n = 2m' 2m' 86 -- p * n * n = 2m' 2m'
85 -- n * n = m' 2m' 87 -- n * n = m' 2m'
86 df = Dividable.factor dm 88 df = Dividable.factor dm
87 dn : Dividable p n 89 dn : Dividable p n
88 dn = divdable^2 n p 1<sp n>1 pn record { factor = df * df ; is-factor = begin 90 dn = divdable^2 n p 1<sp n>1 pn record { factor = df * df ; is-factor = begin
89 df * df * p + 0 ≡⟨ *-cancelʳ-≡ _ _ {p0} ( begin 91 df * df * p + 0 ≡⟨ *-cancelʳ-≡ _ _ (suc p0) ( begin
90 (df * df * p + 0) * p ≡⟨ cong (λ k → k * p) (+-comm (df * df * p) 0) ⟩ 92 (df * df * p + 0) * p ≡⟨ cong (λ k → k * p) (+-comm (df * df * p) 0) ⟩
91 ((df * df) * p ) * p ≡⟨ cong (λ k → k * p) (*-assoc df df p ) ⟩ 93 ((df * df) * p ) * p ≡⟨ cong (λ k → k * p) (*-assoc df df p ) ⟩
92 (df * (df * p)) * p ≡⟨ cong (λ k → (df * k ) * p) (*-comm df p) ⟩ 94 (df * (df * p)) * p ≡⟨ cong (λ k → (df * k ) * p) (*-comm df p) ⟩
93 (df * (p * df)) * p ≡⟨ sym ( cong (λ k → k * p) (*-assoc df p df ) ) ⟩ 95 (df * (p * df)) * p ≡⟨ sym ( cong (λ k → k * p) (*-assoc df p df ) ) ⟩
94 ((df * p) * df) * p ≡⟨ *-assoc (df * p) df p ⟩ 96 ((df * p) * df) * p ≡⟨ *-assoc (df * p) df p ⟩
194 d * (d2 * (Rational.i r * Rational.i r)) ∎ ) ⟩ 196 d * (d2 * (Rational.i r * Rational.i r)) ∎ ) ⟩
195 d2 * (Rational.i r * Rational.i r) ∎ ) ⟩ 197 d2 * (Rational.i r * Rational.i r) ∎ ) ⟩
196 Rational.i r * Rational.i r ∎ where open ≡-Reasoning 198 Rational.i r * Rational.i r ∎ where open ≡-Reasoning
197 199
198 *<-2 : {x y z : ℕ} → z > 0 → x < y → z * x < z * y 200 *<-2 : {x y z : ℕ} → z > 0 → x < y → z * x < z * y
199 *<-2 {x} {y} {suc z} (s≤s z>0) x<y = *-monoʳ-< z x<y 201 *<-2 {x} {y} {suc z} (s≤s z>0) x<y = ? -- *-monoʳ-< z x<y
200 202
201 r15 : {p : ℕ} → p > 1 → p < p * p 203 r15 : {p : ℕ} → p > 1 → p < p * p
202 r15 {p} p>1 = subst (λ k → k < p * p ) m*1=m (*<-2 (<-trans a<sa p>1) p>1 ) 204 r15 {p} p>1 = subst (λ k → k < p * p ) m*1=m (*<-2 (<-trans a<sa p>1) p>1 )
203 205
204 root-prime-irrational1 : ( p : ℕ ) → Prime p → ( r : Rational ) → ¬ ( Rational* r r r= p ) 206 root-prime-irrational1 : ( p : ℕ ) → Prime p → ( r : Rational ) → ¬ ( Rational* r r r= p )