Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 1355:db8229569750
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 19 Jun 2023 07:11:04 +0900 |
parents | 3e14418230bc |
children | e3302db6bbdc |
files | src/bijection.agda |
diffstat | 1 files changed, 44 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/bijection.agda Sun Jun 18 20:17:50 2023 +0900 +++ b/src/bijection.agda Mon Jun 19 07:11:04 2023 +0900 @@ -931,20 +931,59 @@ ... | tri≈ ¬a bi2 ¬c = ⊥-elim (nat-≡< (sym (inject-cgf (trans bi (sym bi2)) )) (<-transʳ j≤i a<sa )) lem02 (suc j) (s≤s j≤i) | tri> ¬a ¬b c₁ = lem02 j (≤-trans j≤i a≤sa) lem01 (suc i) (s≤s i≤n) | tri> ¬a ¬b c₁ = lem01 i (≤-trans i≤n a≤sa) - c1<count-A zero (suc i) = ? + c1<count-A zero (suc i) with is-A (fun← cn (suc i)) | <-cmp (fun→ cn (g (f (fun← an zero)))) (suc i) + ... | no nisa | tri< a ¬b ¬c = ? + ... | no nisa | tri≈ ¬a b ¬c = ? + ... | no nisa | tri> ¬a ¬b c₁ = ? where + lem10 : c1 zero i ≤ count-A i + lem10 = c1<count-A 0 i + ... | yes isa | s = ? c1<count-A (suc n) (suc i) with is-A (fun← cn (suc i)) | <-cmp (fun→ cn (g (f (fun← an (suc n))))) (suc i) ... | no nisa | tri< a ¬b ¬c = ? where -- subst (λ k → k ≤ count-A i) (sym (lem11 n ≤-refl)) lem10 where lem13 : c1 n i ≡ c1 n (suc i) lem13 = c1+0 {n} {i} nisa lem10 : c1 n i ≤ count-A i lem10 = c1<count-A n i + lem14 : count-A (suc i) ≡ suc (count-A i) + lem14 = ? lem12 : suc (c1 n (suc i)) ≤ count-A i -- becase count-A i contains (ani (suc n)) lem12 = ? ... | no nisa | tri≈ ¬a b ¬c = ⊥-elim (nisa ? ) - ... | no nisa | tri> ¬a ¬b c₁ = ? - ... | yes isa | tri< a ¬b ¬c = ? -- count-A contains (suc i), so keep ≤-relation - ... | yes isa | tri≈ ¬a b ¬c = ? - ... | yes isa | tri> ¬a ¬b c₁ = ? + ... | no nisa | tri> ¬a ¬b c₁ = subst ( λ k → k ≤ count-A i) (c1+0 {n} {i} nisa) (c1<count-A n i) + ... | yes isa | tri< a ¬b ¬c = lem12 where -- count-A contains (suc i), so keep ≤-relation + lem10 : c1 n i ≤ count-A i + lem10 = c1<count-A n i + lem11 : c1 n (suc i) ≤ count-A (suc i) + lem11 = c1<count-A n (suc i) + lem12 : suc (c1 n (suc i)) ≤ suc (count-A i) + lem12 with <-cmp n (fun→ an (Is.a isa)) | c1+1 n i isa + ... | tri< a ¬b ¬c | eq = s≤s (subst (λ k → k ≤ count-A i) eq (c1<count-A n i)) + ... | tri≈ ¬a b ¬c | eq = begin + suc (c1 n (suc i)) ≡⟨ cong suc (sym eq) ⟩ + suc (suc ( c1 n i)) ≤⟨ ? ⟩ + suc (suc (count-A i)) ≤⟨ ? ⟩ + suc (count-A i) ∎ where open ≤-Reasoning + ... | tri> ¬a ¬b c₁ | t = ? + ... | yes isa | tri≈ ¬a b ¬c = lem12 where -- count-A contains (suc i), so keep ≤-relation + lem10 : c1 n i ≤ count-A i + lem10 = c1<count-A n i + lem12 : suc (c1 n (suc i)) ≤ suc (count-A i) + lem12 = ? + ... | yes isa | tri> ¬a ¬b c₁ = lem12 where -- count-A is one degree larger now + open ≤-Reasoning + lem10 : c1 n i ≤ count-A i + lem10 = c1<count-A n i + lem12 : c1 n (suc i) ≤ suc (count-A i) + lem12 with <-cmp n (fun→ an (Is.a isa)) | c1+1 n i isa + ... | tri< a ¬b ¬c | eq = ≤-trans (subst (λ k → k ≤ count-A i) eq (c1<count-A n i)) a≤sa + ... | tri≈ ¬a b ¬c | eq = begin + c1 n (suc i) ≡⟨ sym eq ⟩ + suc ( c1 n i) ≤⟨ s≤s (c1<count-A n i) ⟩ + suc (count-A i) ∎ + ... | tri> ¬a ¬b c₁ | eq = begin + c1 n (suc i) ≡⟨ sym eq ⟩ + suc ( c1 n i) ≤⟨ s≤s (c1<count-A n i) ⟩ + suc (count-A i) ∎ record maxAC (n : ℕ) : Set where field