Step * of Lemma ml-insert-int-sq

[l:ℤ List]. ∀[x:ℤ].  (ml-insert-int(x;l) insert-int(x;l))
BY
(InductionOnList
   THEN Intro
   THEN All (RepUR ``ml-insert-int spreadcons ml_apply let``)
   THEN RW (AddrC [1] (SweepUpC UnrollRecursionC)) 0
   THEN Reduce 0
   THEN (CallByValueReduceOn ⌜x⌝ 0⋅ THENA Auto)
   THEN Reduce 0
   THEN (Trivial
   ORELSE ((CallByValueReduce 0⋅ THENA Auto)
           THEN Reduce 0
           THEN ((InstHyp [⌜x⌝3⋅ THENA Auto) THEN (CallByValueReduceOn ⌜x⌝ (-1)⋅ THENA Auto))
           THEN HypSubst' (-1) 0)
   )) }

1
1. : ℤ
2. : ℤ List
3. ∀[x:ℤ]
     (let y ⟵ v
      in let y ⟵ x
         in fix((λinsert_int,x,l. if null(l)
                                 then [x]
                                 else let a,as 
                                      in if x <1
                                         then [x l]
                                         else [a let y ⟵ as in let y ⟵ in insert_int y]
                                         fi 
                                 fi )) 
            
         insert-int(x;v))
4. [x] : ℤ
5. let y ⟵ v
   in fix((λinsert_int,x,l. if null(l)
                           then [x]
                           else let a,as 
                                in if x <then [x l] else [a let y ⟵ as in let y ⟵ in insert_int y] fi 
                           fi )) 
      
      insert-int(x;v)
⊢ if x <then [x; [u v]] else [u insert-int(x;v)] fi  insert-int(x;[u v])


Latex:


Latex:
\mforall{}[l:\mBbbZ{}  List].  \mforall{}[x:\mBbbZ{}].    (ml-insert-int(x;l)  \msim{}  insert-int(x;l))


By


Latex:
(InductionOnList
  THEN  Intro
  THEN  All  (RepUR  ``ml-insert-int  spreadcons  ml\_apply  let``)
  THEN  RW  (AddrC  [1]  (SweepUpC  UnrollRecursionC))  0
  THEN  Reduce  0
  THEN  (CallByValueReduceOn  \mkleeneopen{}x\mkleeneclose{}  0\mcdot{}  THENA  Auto)
  THEN  Reduce  0
  THEN  (Trivial
  ORELSE  ((CallByValueReduce  0\mcdot{}  THENA  Auto)
                  THEN  Reduce  0
                  THEN  ((InstHyp  [\mkleeneopen{}x\mkleeneclose{}]  3\mcdot{}  THENA  Auto)  THEN  (CallByValueReduceOn  \mkleeneopen{}x\mkleeneclose{}  (-1)\mcdot{}  THENA  Auto))
                  THEN  HypSubst'  (-1)  0)
  ))




Home Index