Mercurial > hg > Members > kono > Proof > galois
changeset 244:f1f76eed9335
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 10 Dec 2020 17:15:54 +0900 |
parents | 326221cf402b |
children | ee27673aa3fe |
files | FLComm.agda |
diffstat | 1 files changed, 19 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/FLComm.agda Thu Dec 10 12:06:33 2020 +0900 +++ b/FLComm.agda Thu Dec 10 17:15:54 2020 +0900 @@ -55,10 +55,11 @@ open import fin open AnyFL +anyFL2 : (x : FL 1) → (y : FList 1) → y ≡ ((zero :: f0) ∷# []) → Any (_≡_ x) y +anyFL2 (zero :: f0) .(cons (zero :: f0) [] (Level.lift tt)) refl = here refl + anyFL0 : (n : ℕ) → AnyFL (suc n) -anyFL0 zero = record { allFL = (zero :: f0) ∷# [] ; anyP = anyFL2 } where - anyFL2 : (x : FL 1) → Any (_≡_ x) (cons (zero :: f0) [] (Level.lift tt)) - anyFL2 (zero :: f0) = here refl +anyFL0 zero = record { allFL = (zero :: f0) ∷# [] ; anyP = λ x → anyFL2 x ((zero :: f0) ∷# []) refl } anyFL0 (suc n) = record { allFL = allListF a<sa []; anyP = λ x → anyFL3 a<sa x (fin≤n (FLpos x)) [] } where allListFL : (x : Fin (suc (suc n))) → FList (suc n) → FList (suc (suc n)) → FList (suc (suc n)) allListFL _ [] y = y @@ -184,17 +185,22 @@ open AnyFin anyFL01 : (n : ℕ) → AnyFL (suc n) -anyFL01 zero = record { allFL = (zero :: f0) ∷# [] ; anyP = {!!} } -anyFL01 (suc n) = record { allFL = ? commList (anyFL02 (suc n)) ; anyP = {!!} } where +anyFL01 zero = record { allFL = (zero :: f0) ∷# [] ; anyP = λ x → anyFL2 x ((zero :: f0) ∷# []) refl } +anyFL01 (suc n) = record { allFL = commList anyC ; anyP = anyFL02 } where anyFL04 : (n : ℕ) → AnyFin n - anyFL04 0 = record { allFin = zero :: f0 ∷# [] ; anyF = {!!} } - anyFL04 (suc n) = record { allFin = {!!} ; anyF = {!!} } - anyFL02 : (n : ℕ ) → AnyComm (allFin (anyFL04 (suc n))) (allFL (anyFL01 n)) (λ p q → FLpos p :: q ) - anyFL02 n = anyComm (allFin (anyFL04 (suc n))) (allFL (anyFL01 n)) (λ p q → FLpos p :: q) - anyFL03 : (n : ℕ ) → (x : FL (suc (suc n))) → Any (_≡_ x) (commList (anyFL02 n)) - anyFL03 zero x = {!!} - anyFL03 n (x :: y) with commAny (anyFL02 (suc n)) ({!!} :: FL0) {!!} {!!} --(anyFL03 {!!}) - ... | t = {!!} + anyFL04 n = record { allFin = anyFL05 a<sa ; anyF = anyFL06 a<sa} where + anyFL05 : {i : ℕ} → (i < suc n) → FList (suc n) + anyFL05 {0} (s≤s z≤n) = zero :: FL0 ∷# [] + anyFL05 {suc i} (s≤s i<n) = FLinsert (fromℕ< (s≤s i<n) :: FL0) (anyFL05 {i} (<-trans i<n a<sa)) + anyFL06 : {i j : ℕ} (i<n : i < suc n) → (j<n : j < suc n) → Any (_≡_ (fromℕ< j<n :: FL0)) (anyFL05 i<n) + anyFL06 {0} (s≤s z≤n) = here refl + anyFL06 {i} i<n = {!!} + anyC = anyComm (allFin (anyFL04 (suc n))) (allFL (anyFL01 n)) (λ p q → FLpos p :: q ) + anyFL02 : (x : FL (suc (suc n))) → Any (_≡_ x) (commList anyC) + anyFL02 (x :: y) = commAny anyC (x :: FL0) y + (subst (λ k → Any (_≡_ (k :: FL0) ) _) (fromℕ<-toℕ _ _) (anyF (anyFL04 (suc n)) x≤n )) (anyP (anyFL01 n) y) where + x≤n : suc (toℕ x) ≤ suc (suc n) + x≤n = toℕ<n x CommFListN : ℕ → FList n CommFListN zero = allFL (anyFL n)