diff hoareBinaryTree.agda @ 680:83a5c1f1fa4b

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 29 Nov 2021 16:09:55 +0900
parents ce79298f4c00
children 32fba6ff4d45
line wrap: on
line diff
--- a/hoareBinaryTree.agda	Mon Nov 29 15:52:08 2021 +0900
+++ b/hoareBinaryTree.agda	Mon Nov 29 16:09:55 2021 +0900
@@ -298,12 +298,19 @@
     Post : replacePR key value tree1 (node key₁ value₁ repl right ) st (λ _ _ _ → Lift n ⊤) 
     Post with replacePR.si Pre
     ... | s-right x t = {!!}  -- can't happen
-    ... | s-left lt si with si-property1 si | replacePR.ri Pre
-    ... | refl | ri = record { tree0 = replacePR.tree0 Pre ; ti = replacePR.ti Pre ; si = si  ; ri = repl04 ; ci = lift tt } where
+    ... | s-left lt si with si-property1 si 
+    ... | refl = record { tree0 = replacePR.tree0 Pre ; ti = replacePR.ti Pre ; si = si  ; ri = repl04 ; ci = lift tt } where
+        repl02 :  node key₁ value₁ (child-replaced key value
+             (node key₁ value₁ left right ∷ st )
+             (node key₁ value₁ left right) (replacePR.tree0 Pre) (replacePR.si Pre)) right
+                 ≡ child-replaced key value st tree1 (replacePR.tree0 Pre) si
+        repl02 with replacePR.si Pre |  si-property1 (replacePR.si Pre)
+        ... | s-right lt si | refl = {!!}
+        ... | s-left lt si | refl = {!!}
         repl04 :  replacedTree key value (child-replaced key value (tree1 ∷ st1) tree1 (replacePR.tree0 Pre) si) (node key₁ value₁ repl right)
-        repl04 = subst (λ k → replacedTree key value k (node key₁ value₁ repl right)) {!!} (r-left a ri)
+        repl04 = subst (λ k → replacedTree key value k (node key₁ value₁ repl right)) repl02 (r-left a (replacePR.ri Pre))
         repl03 : replacedTree key value (child-replaced key value (node key₁ value₁ left right ∷ st) (node key₁ value₁ left right) (replacePR.tree0 Pre) (replacePR.si Pre)) repl
-        repl03 = ri
+        repl03 = replacePR.ri Pre
 ... | tri≈ ¬a b ¬c | refl = next key value {{!!}} (node key₁ value  left right ) st {!!} ≤-refl -- can't happen
 ... | tri> ¬a ¬b c | refl = next key value {{!!}} (node key₁ value₁ left tree ) st {!!} ≤-refl