changeset 67:ee2659635734

Trying prove n-push/n-pop ...
author atton <atton@cr.ie.u-ryukyu.ac.jp>
date Sun, 15 Jan 2017 02:55:38 +0000
parents 211fde284b7e
children f3ad255e3b50
files cbc/stack-subtype-sample.agda
diffstat 1 files changed, 5 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/cbc/stack-subtype-sample.agda	Sun Jan 15 02:33:47 2017 +0000
+++ b/cbc/stack-subtype-sample.agda	Sun Jan 15 02:55:38 2017 +0000
@@ -231,15 +231,11 @@
   ≡⟨ cong (\x -> M.exec (M.cs popOnce) x) (exec-comp (n-push (suc n)) (M.cs pushOnce) (id-meta cn ce s)) ⟩
   M.exec (M.cs popOnce) (M.exec (n-push (suc n))(M.exec (M.cs pushOnce) (id-meta cn ce s)))
   ≡⟨ refl ⟩
-  M.exec (M.cs popOnce) (M.exec (n-push (suc n)) (record { nextCS  = (N.cs id) ;
-                                                           context = record {n = cn ; element = just ce} ;
-                                                           stack   = record {top = just (cons ce (SingleLinkedStack.top s)) }
-                                                         }))
-  ≡⟨ {!!} ⟩
-  M.exec (M.csComp (M.cs popOnce) (n-push (suc n))) ?
-  ≡⟨ {!!} ⟩
-  M.exec (n-push n) (record { nextCS  = (N.cs id) ; context = record {n = cn ; element = just ce} ;
-                              stack   = record {top = just (cons ce (SingleLinkedStack.top s))}})
+  M.exec (M.cs popOnce) (M.exec (n-push (suc n)) (id-meta cn ce (record {top = just (cons ce (SingleLinkedStack.top s))})))
+  ≡⟨ sym (exec-comp (M.cs popOnce) (n-push (suc n)) (id-meta cn ce (record {top = just (cons ce (SingleLinkedStack.top s))}))) ⟩
+  M.exec (M.csComp (M.cs popOnce) (n-push (suc n))) (id-meta cn ce (record {top = just (cons ce (SingleLinkedStack.top s))}))
+  ≡⟨ pop-n-push {!!} cn ce (record {top = just (cons ce (SingleLinkedStack.top s))}) ⟩
+  M.exec (n-push n) (id-meta cn ce (record {top = just (cons ce (SingleLinkedStack.top s))}))
   ≡⟨ refl ⟩
   M.exec (n-push n) (pushOnce (id-meta cn ce s))
   ≡⟨ refl ⟩