# HG changeset patch # User Shinji KONO # Date 1624236052 -32400 # Node ID 906b43b94228779fdbd80179471cd92de9b8a824 # Parent 9aec75fa796cf23b0a48a5d41bf6aebd917e1266 gcd-dividable done diff -r 9aec75fa796c -r 906b43b94228 automaton-in-agda/src/gcd.agda --- a/automaton-in-agda/src/gcd.agda Mon Jun 21 08:08:08 2021 +0900 +++ b/automaton-in-agda/src/gcd.agda Mon Jun 21 09:40:52 2021 +0900 @@ -281,11 +281,13 @@ ... | tri> ¬a ¬b c | tri< a ¬b₁ ¬c = refl ... | tri> ¬a ¬b c | tri≈ ¬a₁ b ¬c = ⊥-elim (¬b (sym b)) ... | tri> ¬a ¬b c | tri> ¬a₁ ¬b₁ c₁ = ⊥-elim (nat-<> c c₁) + record Fdec ( i j : ℕ ) : Set where field ni : ℕ nj : ℕ fdec : 0 < F ⟪ i , j ⟫ → F ⟪ ni , nj ⟫ < F ⟪ i , j ⟫ + fd1 : ( i j k : ℕ ) → i < j → k ≡ j - i → F ⟪ suc i , k ⟫ < F ⟪ suc i , suc j ⟫ fd1 i j 0 i0 {i} {j} i ¬a ¬b c | tri≈ ¬a₁ b ¬c = ⊥-elim (¬a₁ i ¬a ¬b c | tri> ¬a₁ ¬b₁ c₁ = ⊥-elim (¬a₁ i ¬a ¬b c = ⊥-elim ( ¬b refl ) ... | tri> ¬a ¬b c = record { ni = i - j ; nj = suc j ; fdec = λ lt → subst₂ (λ s t → s < t) (Fsym {suc j} {i - j}) (Fsym {suc j} {suc i}) (fd1 j i (i - j) c refl ) } + + ind3 : {i j : ℕ } → i < j + → Dividable (gcd (suc i) (j - i)) (suc i) + → Dividable (gcd (suc i) (suc j)) (suc i) + ind3 {i} {j} a prev = + subst (λ k → Dividable k (suc i)) ( begin + gcd (suc i) (j - i) ≡⟨ gcdsym {suc i} {j - i} ⟩ + gcd (j - i ) (suc i) ≡⟨ sym (gcd+j (j - i) (suc i)) ⟩ + gcd ((j - i) + suc i) (suc i) ≡⟨ cong (λ k → gcd k (suc i)) ( begin + (suc j - suc i) + suc i ≡⟨ minus+n {suc j} {suc i} (<-trans ( s≤s a) a ¬a ¬b c = {!!} + ... | tri> ¬a ¬b c = ⟪ ind8 c (proj1 prev) (proj2 prev) , ind10 c (proj2 prev) ⟫ where + ind9 : {i j : ℕ} → i < j → gcd (j - i) (suc i) ≡ gcd (suc j) (suc i) + ind9 {i} {j} i