Step
*
11
of Lemma
assert-dlo_eq
1. x : Prog
2. x1 : Prop
3. ∀b:dl-Obj(). (↑dlo_eq(prog(x);b) 
⇐⇒ prog(x) = b ∈ dl-Obj())
4. ∀b:dl-Obj(). (↑dlo_eq(prop(x1);b) 
⇐⇒ prop(x1) = b ∈ dl-Obj())
⊢ ∀b:dl-Obj(). (↑dlo_eq(prop([x] x1);b) 
⇐⇒ prop([x] x1) = b ∈ dl-Obj())
BY
{ (dlObjInduction
   THEN Intros
   THEN Unfold `dlo_eq` 0
   THEN (Unfold `dlo-eq` 0 THEN RW (HigherC MrecIndC) 0)
   THEN Try (Fold `dlo-eq` 0)
   THEN Try (Fold `dlo_eq` 0)
   THEN RW (SweepUpC BetaC) 0
   THEN RW (SweepUpC ReduceC) 0
   THEN Auto
   THEN Try (((Assert "prog" = "prop" ∈ Atom BY Complete (Auto)) THEN Auto))) }
1
1. x : Prog
2. x1 : Prop
3. ∀b:dl-Obj(). (↑dlo_eq(prog(x);b) 
⇐⇒ prog(x) = b ∈ dl-Obj())
4. ∀b:dl-Obj(). (↑dlo_eq(prop(x1);b) 
⇐⇒ prop(x1) = b ∈ dl-Obj())
5. x@0 : Prog
6. x1@0 : Prop
7. (↑dlo_eq(prop([x] x1);prog(x@0))) 
⇒ (prop([x] x1) = prog(x@0) ∈ dl-Obj())
8. (↑dlo_eq(prop([x] x1);prog(x@0))) 
⇐ prop([x] x1) = prog(x@0) ∈ dl-Obj()
9. (↑dlo_eq(prop([x] x1);prop(x1@0))) 
⇒ (prop([x] x1) = prop(x1@0) ∈ dl-Obj())
10. (↑dlo_eq(prop([x] x1);prop(x1@0))) 
⇐ prop([x] x1) = prop(x1@0) ∈ dl-Obj()
11. ↑(dlo_eq(prog(x);prog(x@0)) ∧b dlo_eq(prop(x1);prop(x1@0)))
⊢ prop([x] x1) = prop([x@0] x1@0) ∈ dl-Obj()
Latex:
Latex:
1.  x  :  Prog
2.  x1  :  Prop
3.  \mforall{}b:dl-Obj().  (\muparrow{}dlo\_eq(prog(x);b)  \mLeftarrow{}{}\mRightarrow{}  prog(x)  =  b)
4.  \mforall{}b:dl-Obj().  (\muparrow{}dlo\_eq(prop(x1);b)  \mLeftarrow{}{}\mRightarrow{}  prop(x1)  =  b)
\mvdash{}  \mforall{}b:dl-Obj().  (\muparrow{}dlo\_eq(prop([x]  x1);b)  \mLeftarrow{}{}\mRightarrow{}  prop([x]  x1)  =  b)
By
Latex:
(dlObjInduction
  THEN  Intros
  THEN  Unfold  `dlo\_eq`  0
  THEN  (Unfold  `dlo-eq`  0  THEN  RW  (HigherC  MrecIndC)  0)
  THEN  Try  (Fold  `dlo-eq`  0)
  THEN  Try  (Fold  `dlo\_eq`  0)
  THEN  RW  (SweepUpC  BetaC)  0
  THEN  RW  (SweepUpC  ReduceC)  0
  THEN  Auto
  THEN  Try  (((Assert  "prog"  =  "prop"  BY  Complete  (Auto))  THEN  Auto)))
Home
Index