Step
*
3
of Lemma
PZF_safe_functionality
1. C : Type
2. left : Form(C)
3. right : Form(C)
4. ∀vs,ws:Atom List. (set-equal(Atom;vs;ws)
⇒ PZF_safe(left;vs) = PZF_safe(left;ws))
5. ∀vs,ws:Atom List. (set-equal(Atom;vs;ws)
⇒ PZF_safe(right;vs) = PZF_safe(right;ws))
6. vs : Atom List
7. ws : Atom List
8. set-equal(Atom;vs;ws)
⊢ eval as = FormFvs(left) in
eval bs = FormFvs(right) in
eval theta = vs-bs in
PZF_safe(left;theta) ∧b PZF_safe(right;vs-theta)
∨beval phi = vs-as in
PZF_safe(left;vs-phi) ∧b PZF_safe(right;phi)
= eval as = FormFvs(left) in
eval bs = FormFvs(right) in
eval theta = ws-bs in
PZF_safe(left;theta) ∧b PZF_safe(right;ws-theta)
∨beval phi = ws-as in
PZF_safe(left;ws-phi) ∧b PZF_safe(right;phi)
BY
{ (((GenConcl ⌜FormFvs(left) = as ∈ (Atom List)⌝⋅ THENA Auto) THEN (CallByValueReduce 0 THENA Auto))
THEN (GenConcl ⌜FormFvs(right) = bs ∈ (Atom List)⌝⋅ THENA Auto)
THEN (CallByValueReduce 0 THENA Auto)) }
1
1. C : Type
2. left : Form(C)
3. right : Form(C)
4. ∀vs,ws:Atom List. (set-equal(Atom;vs;ws)
⇒ PZF_safe(left;vs) = PZF_safe(left;ws))
5. ∀vs,ws:Atom List. (set-equal(Atom;vs;ws)
⇒ PZF_safe(right;vs) = PZF_safe(right;ws))
6. vs : Atom List
7. ws : Atom List
8. set-equal(Atom;vs;ws)
9. as : Atom List
10. FormFvs(left) = as ∈ (Atom List)
11. bs : Atom List
12. FormFvs(right) = bs ∈ (Atom List)
⊢ eval theta = vs-bs in
PZF_safe(left;theta) ∧b PZF_safe(right;vs-theta)
∨beval phi = vs-as in
PZF_safe(left;vs-phi) ∧b PZF_safe(right;phi)
= eval theta = ws-bs in
PZF_safe(left;theta) ∧b PZF_safe(right;ws-theta)
∨beval phi = ws-as in
PZF_safe(left;ws-phi) ∧b PZF_safe(right;phi)
Latex:
Latex:
1. C : Type
2. left : Form(C)
3. right : Form(C)
4. \mforall{}vs,ws:Atom List. (set-equal(Atom;vs;ws) {}\mRightarrow{} PZF\_safe(left;vs) = PZF\_safe(left;ws))
5. \mforall{}vs,ws:Atom List. (set-equal(Atom;vs;ws) {}\mRightarrow{} PZF\_safe(right;vs) = PZF\_safe(right;ws))
6. vs : Atom List
7. ws : Atom List
8. set-equal(Atom;vs;ws)
\mvdash{} eval as = FormFvs(left) in
eval bs = FormFvs(right) in
eval theta = vs-bs in
PZF\_safe(left;theta) \mwedge{}\msubb{} PZF\_safe(right;vs-theta)
\mvee{}\msubb{}eval phi = vs-as in
PZF\_safe(left;vs-phi) \mwedge{}\msubb{} PZF\_safe(right;phi)
= eval as = FormFvs(left) in
eval bs = FormFvs(right) in
eval theta = ws-bs in
PZF\_safe(left;theta) \mwedge{}\msubb{} PZF\_safe(right;ws-theta)
\mvee{}\msubb{}eval phi = ws-as in
PZF\_safe(left;ws-phi) \mwedge{}\msubb{} PZF\_safe(right;phi)
By
Latex:
(((GenConcl \mkleeneopen{}FormFvs(left) = as\mkleeneclose{}\mcdot{} THENA Auto) THEN (CallByValueReduce 0 THENA Auto))
THEN (GenConcl \mkleeneopen{}FormFvs(right) = bs\mkleeneclose{}\mcdot{} THENA Auto)
THEN (CallByValueReduce 0 THENA Auto))
Home
Index