Step
*
3
2
of Lemma
dl-program-eq-equiv
1. a : Prog
2. b : Prog
3. i : ℤ
4. i = 2 ∈ ℤ
5. p : ℕ
6. ¬(p ∈ dl-prop-atoms() prog(a))
7. ¬(p ∈ dl-prop-atoms() prog(b))
8. ∀K:Type. ∀R:ℕ ⟶ K ⟶ K ⟶ ℙ. ∀P:ℕ ⟶ K ⟶ ℙ. ∀k:K.  ([|<a> atm(p) 
⇒ <b> atm(p)|] k)
9. ∀K:Type. ∀R:ℕ ⟶ K ⟶ K ⟶ ℙ. ∀P:ℕ ⟶ K ⟶ ℙ. ∀k:K.  ([|<b> atm(p) 
⇒ <a> atm(p)|] k)
10. K : Type
11. R : ℕ ⟶ K ⟶ K ⟶ ℙ
12. P : ℕ ⟶ K ⟶ ℙ
13. k1 : K
14. k2 : K
15. λ2a.λs.if (a =z p) then s = k2 ∈ K else P a s fi  ∈ ℕ ⟶ K ⟶ ℙ
16. [|b|] k1 k2
⊢ [|a|] k1 k2
BY
{ (SwapVars `a' `b'
   THEN (InstHyp [⌜K⌝;⌜R⌝;⌜λ2a.λs.if (a =z p) then s = k2 ∈ K else P a s fi ⌝;⌜k1⌝] (9)⋅ THENA Auto)
   THEN (DlSemReduce (-1) THENA Auto)
   THEN D -1) }
1
.....antecedent..... 
1. b : Prog
2. a : Prog
3. i : ℤ
4. i = 2 ∈ ℤ
5. p : ℕ
6. ¬(p ∈ dl-prop-atoms() prog(b))
7. ¬(p ∈ dl-prop-atoms() prog(a))
8. ∀K:Type. ∀R:ℕ ⟶ K ⟶ K ⟶ ℙ. ∀P:ℕ ⟶ K ⟶ ℙ. ∀k:K.  ([|<b> atm(p) 
⇒ <a> atm(p)|] k)
9. ∀K:Type. ∀R:ℕ ⟶ K ⟶ K ⟶ ℙ. ∀P:ℕ ⟶ K ⟶ ℙ. ∀k:K.  ([|<a> atm(p) 
⇒ <b> atm(p)|] k)
10. K : Type
11. R : ℕ ⟶ K ⟶ K ⟶ ℙ
12. P : ℕ ⟶ K ⟶ ℙ
13. k1 : K
14. k2 : K
15. λ2a.λs.if (a =z p) then s = k2 ∈ K else P a s fi  ∈ ℕ ⟶ K ⟶ ℙ
16. [|a|] k1 k2
⊢ ∃k':K. (([|a|] k1 k') ∧ if (p =z p) then k' = k2 ∈ K else P p k' fi )
2
1. b : Prog
2. a : Prog
3. i : ℤ
4. i = 2 ∈ ℤ
5. p : ℕ
6. ¬(p ∈ dl-prop-atoms() prog(b))
7. ¬(p ∈ dl-prop-atoms() prog(a))
8. ∀K:Type. ∀R:ℕ ⟶ K ⟶ K ⟶ ℙ. ∀P:ℕ ⟶ K ⟶ ℙ. ∀k:K.  ([|<b> atm(p) 
⇒ <a> atm(p)|] k)
9. ∀K:Type. ∀R:ℕ ⟶ K ⟶ K ⟶ ℙ. ∀P:ℕ ⟶ K ⟶ ℙ. ∀k:K.  ([|<a> atm(p) 
⇒ <b> atm(p)|] k)
10. K : Type
11. R : ℕ ⟶ K ⟶ K ⟶ ℙ
12. P : ℕ ⟶ K ⟶ ℙ
13. k1 : K
14. k2 : K
15. λ2a.λs.if (a =z p) then s = k2 ∈ K else P a s fi  ∈ ℕ ⟶ K ⟶ ℙ
16. [|a|] k1 k2
17. ∃k':K. (([|b|] k1 k') ∧ if (p =z p) then k' = k2 ∈ K else P p k' fi )
⊢ [|b|] k1 k2
Latex:
Latex:
1.  a  :  Prog
2.  b  :  Prog
3.  i  :  \mBbbZ{}
4.  i  =  2
5.  p  :  \mBbbN{}
6.  \mneg{}(p  \mmember{}  dl-prop-atoms()  prog(a))
7.  \mneg{}(p  \mmember{}  dl-prop-atoms()  prog(b))
8.  \mforall{}K:Type.  \mforall{}R:\mBbbN{}  {}\mrightarrow{}  K  {}\mrightarrow{}  K  {}\mrightarrow{}  \mBbbP{}.  \mforall{}P:\mBbbN{}  {}\mrightarrow{}  K  {}\mrightarrow{}  \mBbbP{}.  \mforall{}k:K.    ([|<a>  atm(p)  {}\mRightarrow{}  <b>  atm(p)|]  k)
9.  \mforall{}K:Type.  \mforall{}R:\mBbbN{}  {}\mrightarrow{}  K  {}\mrightarrow{}  K  {}\mrightarrow{}  \mBbbP{}.  \mforall{}P:\mBbbN{}  {}\mrightarrow{}  K  {}\mrightarrow{}  \mBbbP{}.  \mforall{}k:K.    ([|<b>  atm(p)  {}\mRightarrow{}  <a>  atm(p)|]  k)
10.  K  :  Type
11.  R  :  \mBbbN{}  {}\mrightarrow{}  K  {}\mrightarrow{}  K  {}\mrightarrow{}  \mBbbP{}
12.  P  :  \mBbbN{}  {}\mrightarrow{}  K  {}\mrightarrow{}  \mBbbP{}
13.  k1  :  K
14.  k2  :  K
15.  \mlambda{}\msubtwo{}a.\mlambda{}s.if  (a  =\msubz{}  p)  then  s  =  k2  else  P  a  s  fi    \mmember{}  \mBbbN{}  {}\mrightarrow{}  K  {}\mrightarrow{}  \mBbbP{}
16.  [|b|]  k1  k2
\mvdash{}  [|a|]  k1  k2
By
Latex:
(SwapVars  `a'  `b'
  THEN  (InstHyp  [\mkleeneopen{}K\mkleeneclose{};\mkleeneopen{}R\mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}a.\mlambda{}s.if  (a  =\msubz{}  p)  then  s  =  k2  else  P  a  s  fi  \mkleeneclose{};\mkleeneopen{}k1\mkleeneclose{}]  (9)\mcdot{}  THENA  Auto)
  THEN  (DlSemReduce  (-1)  THENA  Auto)
  THEN  D  -1)
Home
Index