Mercurial > hg > Members > kono > Proof > galois
changeset 224:71e08656273b
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 07 Dec 2020 22:30:29 +0900 |
parents | 9da456c2bfe3 |
children | 08a99237e56e |
files | FLComm.agda |
diffstat | 1 files changed, 19 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/FLComm.agda Mon Dec 07 20:29:13 2020 +0900 +++ b/FLComm.agda Mon Dec 07 22:30:29 2020 +0900 @@ -101,34 +101,39 @@ CommFListN (suc i) = CommFList (CommFListN i) -- all comm cobmbination in P and Q -record AnyComm (P Q : FList n) : Set where +record AnyComm (p0 q0 : FL n) (P Q : FList n) : Set where field commList : FList n - commAny : (p q : FL n) → Any ( p ≡_ ) P → Any ( q ≡_ ) Q → Any (perm→FL [ FL→perm p , FL→perm q ] ≡_) commList + commAny : (p q : FL n) + → Any ( p ≡_ ) P → Any ( q ≡_ ) Q + → p0 f≤ p → q0 f≤ q + → Any (perm→FL [ FL→perm p , FL→perm q ] ≡_) commList open AnyComm -- q₂ -anyComm : (P Q : FList n) → AnyComm P Q +anyComm : (P Q : FList n) → AnyComm FL0 FL0 P Q anyComm [] [] = record { commList = [] ; commAny = λ _ _ () } anyComm [] (cons q Q qr) = record { commList = [] ; commAny = λ _ _ () } anyComm (cons p P pr) [] = record { commList = [] ; commAny = λ _ _ _ () } anyComm (cons p P pr) (cons q Q qr) = anyc0n (cons q Q qr) where - anyc0n : (Q1 : FList n) → AnyComm (cons p P pr) (cons q Q qr) + anyc0n : (Q1 : FList n) → AnyComm {!!} {!!} (cons p P pr) (cons q Q qr) anyc0n [] = record { commList = FLinsert (perm→FL [ FL→perm p , FL→perm q ]) (commList (anyComm P (cons q Q qr))) ; commAny = anyc03 } where anyc03 : (p₁ q₁ : FL n) → Any ( p₁ ≡_) (cons p P pr) → Any (q₁ ≡_) (cons q Q qr) + → {!!} → {!!} → Any ((perm→FL [ FL→perm p₁ , FL→perm q₁ ]) ≡_) (FLinsert (perm→FL [ FL→perm p , FL→perm q ]) (commList (anyComm P (cons q Q qr)))) - anyc03 p₁ q₁ (there anyp) (here x) = insAny _ (commAny (anyComm P (cons q Q qr)) p₁ q₁ anyp (here x)) - anyc03 p₁ q₁ (there anyp) (there anyq) = insAny _ (commAny (anyComm P (cons q Q qr)) p₁ q₁ anyp (there anyq)) - anyc03 p₁ q₁ (here refl) (there anyq) = insAny _ (commAny (anyComm P (cons q Q qr)) p₁ q₁ (here refl) (there anyq)) - anyc03 p₁ q₁ (here refl) (here x) = {!!} + anyc03 p₁ q₁ (there anyp) (here x) _ _ = insAny _ (commAny (anyComm P (cons q Q qr)) p₁ q₁ anyp (here x) {!!} {!!} ) + anyc03 p₁ q₁ (there anyp) (there anyq) _ _ = insAny _ (commAny (anyComm P (cons q Q qr)) p₁ q₁ anyp (there anyq) {!!} {!!} ) + anyc03 p₁ q₁ (here refl) (there anyq) _ _ = insAny _ (commAny (anyComm P (cons q Q qr)) p₁ q₁ {!!} (there anyq) {!!} {!!} ) + anyc03 p₁ q₁ (here refl) (here x) _ _ = {!!} anyc0n (cons q₂ Q1 qr₂ ) = record { commList = FLinsert (perm→FL [ FL→perm p , FL→perm q₂ ]) (commList (anyc0n Q1)) ; commAny = anyc01 Q1 q₂ qr₂ } where - anyc01 : (Q1 : FList n) (q₂ : FL n) → (qr₂ : fresh (FL n) ⌊ _f<?_ ⌋ q₂ Q1 ) → (p₁ q₁ : FL n) → Any (p₁ ≡_) (cons p P pr) → Any (q₁ ≡_) (cons q Q qr) → - Any (perm→FL [ FL→perm p₁ , FL→perm q₁ ] ≡_) (FLinsert (perm→FL [ FL→perm p , FL→perm q₂ ]) (commList (anyc0n Q1)) ) - anyc01 Q1 q₂ qr₂ p₁ q₁ (here refl) (there anyq) = insAny _ (commAny (anyc0n Q1) p₁ q₁ (here refl) (there anyq)) - anyc01 Q1 q₂ qr₂ p₁ q₁ (there anyp) (here refl) = insAny _ (commAny (anyc0n Q1) p₁ q₁ (there anyp) (here refl)) - anyc01 Q1 q₂ qr₂ p₁ q₁ (there anyp) (there anyq) = insAny _ (commAny (anyc0n Q1) p₁ q₁ (there anyp) (there anyq) ) - anyc01 Q1 q₂ qr₂ p₁ q₁ (here refl) (here refl) with x∈FLins (perm→FL [ FL→perm p , FL→perm q₂ ]) (commList (anyc0n Q1)) + anyc01 : (Q1 : FList n) (q₂ : FL n) → (qr₂ : fresh (FL n) ⌊ _f<?_ ⌋ q₂ Q1 ) → (p₁ q₁ : FL n) → Any (p₁ ≡_) (cons p P pr) → Any (q₁ ≡_) (cons q Q qr) + → {!!} → {!!} + → Any (perm→FL [ FL→perm p₁ , FL→perm q₁ ] ≡_) (FLinsert (perm→FL [ FL→perm p , FL→perm q₂ ]) (commList (anyc0n Q1)) ) + anyc01 Q1 q₂ qr₂ p₁ q₁ (here refl) (there anyq) _ _ = insAny _ (commAny (anyc0n Q1) p₁ q₁ (here refl) (there anyq) {!!} {!!} ) + anyc01 Q1 q₂ qr₂ p₁ q₁ (there anyp) (here refl) _ _ = insAny _ (commAny (anyc0n Q1) p₁ q₁ (there anyp) (here refl) {!!} {!!} ) + anyc01 Q1 q₂ qr₂ p₁ q₁ (there anyp) (there anyq) _ _ = insAny _ (commAny (anyc0n Q1) p₁ q₁ (there anyp) (there anyq) {!!} {!!} ) + anyc01 Q1 q₂ qr₂ p₁ q₁ (here refl) (here refl) _ _ with x∈FLins (perm→FL [ FL→perm p , FL→perm q₂ ]) (commList (anyc0n Q1)) ... | t = {!!} -- t : p₁ q₂ → p₁ q₁ -- {-# TERMINATING #-}