Step
*
of Lemma
simple-swap_wf
∀[n:ℕ]. ∀[AType:array{i:l}(ℤ;n)]. ∀[i,j:ℕn].  (simple-swap(array-model(AType);i;j) ∈ A-map Unit)
BY
{ ((UnivCD THENA Auto)
   THEN (InstLemma `A-bind_wf` [⌜ℤ⌝;⌜n⌝;⌜AType⌝;⌜ℤ⌝;⌜Unit⌝]⋅ THENA Auto)
   THEN (InstLemma `A-coerce_wf` [⌜ℤ⌝;⌜n⌝;⌜AType⌝]⋅ THENA Auto)
   THEN (InstLemma `A-fetch\'_wf` [⌜ℤ⌝;⌜n⌝;⌜AType⌝]⋅ THENA Auto)
   THEN (InstLemma `A-assign_wf` [⌜ℤ⌝;⌜n⌝;⌜AType⌝]⋅ THENA Auto)
   THEN Unfold `simple-swap` 0
   THEN RepeatFor 4 ((MemCD THEN Try (Complete (Auto))))
   THEN InstLemma `A-bind_wf` [⌜ℤ⌝;⌜n⌝;⌜AType⌝;⌜Unit⌝;⌜Unit⌝]⋅
   THEN Auto) }
Latex:
Latex:
\mforall{}[n:\mBbbN{}].  \mforall{}[AType:array\{i:l\}(\mBbbZ{};n)].  \mforall{}[i,j:\mBbbN{}n].    (simple-swap(array-model(AType);i;j)  \mmember{}  A-map  Unit)
By
Latex:
((UnivCD  THENA  Auto)
  THEN  (InstLemma  `A-bind\_wf`  [\mkleeneopen{}\mBbbZ{}\mkleeneclose{};\mkleeneopen{}n\mkleeneclose{};\mkleeneopen{}AType\mkleeneclose{};\mkleeneopen{}\mBbbZ{}\mkleeneclose{};\mkleeneopen{}Unit\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (InstLemma  `A-coerce\_wf`  [\mkleeneopen{}\mBbbZ{}\mkleeneclose{};\mkleeneopen{}n\mkleeneclose{};\mkleeneopen{}AType\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (InstLemma  `A-fetch\mbackslash{}'\_wf`  [\mkleeneopen{}\mBbbZ{}\mkleeneclose{};\mkleeneopen{}n\mkleeneclose{};\mkleeneopen{}AType\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (InstLemma  `A-assign\_wf`  [\mkleeneopen{}\mBbbZ{}\mkleeneclose{};\mkleeneopen{}n\mkleeneclose{};\mkleeneopen{}AType\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  Unfold  `simple-swap`  0
  THEN  RepeatFor  4  ((MemCD  THEN  Try  (Complete  (Auto))))
  THEN  InstLemma  `A-bind\_wf`  [\mkleeneopen{}\mBbbZ{}\mkleeneclose{};\mkleeneopen{}n\mkleeneclose{};\mkleeneopen{}AType\mkleeneclose{};\mkleeneopen{}Unit\mkleeneclose{};\mkleeneopen{}Unit\mkleeneclose{}]\mcdot{}
  THEN  Auto)
Home
Index