1) I used "show statement xxx / full" to see details of mandatory hypotheses and referenced formulas for the labels referenced in the proof.
2) Metamath displays the stack in "RPN" order, which means Reversed,
"Last-In, First Out" (LIFO) Order. This is done for convenience in
programming with arrays (reversing the stack eliminates the need to
move entries in memory when adding or removing an entry from the
stack). Thus, in MetaMath.pdf, "topmost" should be interpreted as the
bottom-most entry of a reversed stack...
3) The table below demonstrates Proof Verification without any Distinct Variable Restrictions.
4) The 3rd column, "Type" refers to "H" for Hypothesis and "A" for Assertion (may be Axiomatic or Provable Assertion)
5) The 6th column, "Unique Substitution", contains the variable substitutions necessary to make the 5th Column, "Assertion's Mandatory Hypotheses", match the 4rd column, "Proof Work Stack". [In other words, this is the legendary process of Unification at work! A small example...but nonetheless, a great achievement for mankind!]
${
$( Premise for ~ a1i . $)
a1i.1 $e |- ph $.
$( Inference derived from axiom ~ ax-1 . See ~ a1d for an explanation of
our informal use of the terms "inference" and "deduction". $)
a1i $p |- ( ps -> ph ) $=
wph wps wph wi a1i.1 wph wps ax-1 ax-mp $.
$([5-Aug-93]$)
$}
|
Label |
T |
Referenced |
Proof Work Stack |
Assertion's |
Unique |
1 |
|
|
|
wff ph |
|
|
2 |
wps |
|
wff ps |
wff ph |
|
|
3 |
wph |
H |
|
wff ph |
|
|
4 |
wi |
A |
|
wff ph |
wff ph |
'ps' for |
5 |
a1i..1 |
H |
|
|
|
|
6 |
wph |
H |
|
|
|
|
7 |
wps |
H |
|
|
|
|
8 |
ax-1 |
A |
|
|
wff ph |
'ph' for |
9 |
ax-mp |
A |
|
|
wff ph |
'ph' for |
Voila! The contents of the Proof Work Stack after Step 9 match the $p expression! QED!!!
${
$d x A $. $( ` x ` is dummy. $)
$( An ordinal number is an ordinal set. $)
elong $p |- ( A e. B -> ( A e. On <-> Ord A ) ) $=
vx cv word cA word vx cA con0 cB vx cv cA ordeq vx df-on elab2g $.
$( [5-Jun-94] $)
$}
Label
|
T |
Referenced |
Proof Work Stack |
Assertion's |
Unique |
|
1 |
vx
|
H
|
set x
|
set x |
|
|
2 |
cv |
A
|
class x |
class x |
set x |
'x' for 'x' |
3 |
word |
A |
wff Ord A
|
wff Ord x
|
class A |
'x' for 'A' |
4 |
cA |
H |
class A
|
wff Ord x |
|
|
5 |
word |
A |
wff Ord A |
wff Ord x |
class A |
'A' for 'A' |
6 |
vx |
H |
set x
|
wff Ord x
|
|
|
7 |
cA |
H |
class A |
wff Ord x
|
|
|
8 |
con0 |
A |
class On
|
wff Ord x |
|
|
9 |
cB |
H |
class B |
wff Ord x
|
|
|
10 | vx |
H |
set x |
wff Ord x |
||
11 | cv |
A |
class x |
wff Ord x |
set x |
'x' for 'x' |
12 | cA |
H |
class A |
wff Ord x |
||
13 | ordeq |
A |
|- ( A = B -> ( Ord A <-> Ord B ) ) |
wff Ord x |- ( x = A -> ( Ord x <-> Ord A ) ) |
class A class B |
'x' for 'A' 'A' for 'B' |
14 | vx |
H |
set x |
wff Ord x |- ( x = A -> ( Ord x <-> Ord A ) ) set x |
||
15 | df-on |
A |
|- On = { x | Ord x } |
wff Ord x |- ( x = A -> ( Ord x <-> Ord A ) ) |- On = { x | Ord x } |
set x |
'x' for 'x' |
16 | elab2g |
A |
|- ( A e. C -> ( A e. B <-> ps ) ) |
|- ( A e. B -> ( A e. On <-> Ord A ) ) |
wff ph wff ps set x class A class B class C |- ( x = A -> ( ph <-> ps ) ) |- B = { x | ph } |
'Ord x' for 'ph' 'Ord A' for 'ps' 'x' for 'x' 'A' for 'A' 'On' for 'B' 'B' for 'C' |
Voila! The contents of the Proof Work Stack after Step 16 match the $p expression! QED!!!
${
$d x A $. $( ` x ` is dummy. $)
$( An ordinal number is an ordinal set. $)
elong $p |- ( A e. B -> ( A e. On <-> Ord A ) ) $=
vx cv word cA word vx cA con0 cB vx cv cA ordeq vx df-on elab2g $.
$( [5-Jun-94] $)
$}