| Step |
Hyp |
Ref |
Expression |
| 1 |
|
naddcnff |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) : ( 𝑆 × 𝑆 ) ⟶ 𝑆 ) |
| 2 |
|
simpr |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝑓 ∈ 𝑆 ) → 𝑓 ∈ 𝑆 ) |
| 3 |
|
peano1 |
⊢ ∅ ∈ ω |
| 4 |
|
fconst6g |
⊢ ( ∅ ∈ ω → ( 𝑋 × { ∅ } ) : 𝑋 ⟶ ω ) |
| 5 |
3 4
|
mp1i |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝑋 × { ∅ } ) : 𝑋 ⟶ ω ) |
| 6 |
|
simpl |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → 𝑋 ∈ On ) |
| 7 |
3
|
a1i |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ∅ ∈ ω ) |
| 8 |
6 7
|
fczfsuppd |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝑋 × { ∅ } ) finSupp ∅ ) |
| 9 |
|
simpr |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → 𝑆 = dom ( ω CNF 𝑋 ) ) |
| 10 |
9
|
eleq2d |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( ( 𝑋 × { ∅ } ) ∈ 𝑆 ↔ ( 𝑋 × { ∅ } ) ∈ dom ( ω CNF 𝑋 ) ) ) |
| 11 |
|
eqid |
⊢ dom ( ω CNF 𝑋 ) = dom ( ω CNF 𝑋 ) |
| 12 |
|
omelon |
⊢ ω ∈ On |
| 13 |
12
|
a1i |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ω ∈ On ) |
| 14 |
11 13 6
|
cantnfs |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( ( 𝑋 × { ∅ } ) ∈ dom ( ω CNF 𝑋 ) ↔ ( ( 𝑋 × { ∅ } ) : 𝑋 ⟶ ω ∧ ( 𝑋 × { ∅ } ) finSupp ∅ ) ) ) |
| 15 |
10 14
|
bitrd |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( ( 𝑋 × { ∅ } ) ∈ 𝑆 ↔ ( ( 𝑋 × { ∅ } ) : 𝑋 ⟶ ω ∧ ( 𝑋 × { ∅ } ) finSupp ∅ ) ) ) |
| 16 |
5 8 15
|
mpbir2and |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝑋 × { ∅ } ) ∈ 𝑆 ) |
| 17 |
16
|
adantr |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝑓 ∈ 𝑆 ) → ( 𝑋 × { ∅ } ) ∈ 𝑆 ) |
| 18 |
|
simpl |
⊢ ( ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) → 𝑓 ∈ 𝑆 ) |
| 19 |
18
|
adantl |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) → 𝑓 ∈ 𝑆 ) |
| 20 |
|
simpr |
⊢ ( ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) → ( 𝑋 × { ∅ } ) ∈ 𝑆 ) |
| 21 |
20
|
adantl |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) → ( 𝑋 × { ∅ } ) ∈ 𝑆 ) |
| 22 |
19 21
|
ovresd |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) → ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) ( 𝑋 × { ∅ } ) ) = ( 𝑓 ∘f +o ( 𝑋 × { ∅ } ) ) ) |
| 23 |
9
|
eleq2d |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝑓 ∈ 𝑆 ↔ 𝑓 ∈ dom ( ω CNF 𝑋 ) ) ) |
| 24 |
11 13 6
|
cantnfs |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝑓 ∈ dom ( ω CNF 𝑋 ) ↔ ( 𝑓 : 𝑋 ⟶ ω ∧ 𝑓 finSupp ∅ ) ) ) |
| 25 |
23 24
|
bitrd |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝑓 ∈ 𝑆 ↔ ( 𝑓 : 𝑋 ⟶ ω ∧ 𝑓 finSupp ∅ ) ) ) |
| 26 |
25
|
biimpd |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝑓 ∈ 𝑆 → ( 𝑓 : 𝑋 ⟶ ω ∧ 𝑓 finSupp ∅ ) ) ) |
| 27 |
|
simpl |
⊢ ( ( 𝑓 : 𝑋 ⟶ ω ∧ 𝑓 finSupp ∅ ) → 𝑓 : 𝑋 ⟶ ω ) |
| 28 |
18 26 27
|
syl56 |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) → 𝑓 : 𝑋 ⟶ ω ) ) |
| 29 |
28
|
imp |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) → 𝑓 : 𝑋 ⟶ ω ) |
| 30 |
29
|
ffnd |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) → 𝑓 Fn 𝑋 ) |
| 31 |
|
fnconstg |
⊢ ( ∅ ∈ ω → ( 𝑋 × { ∅ } ) Fn 𝑋 ) |
| 32 |
3 31
|
mp1i |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) → ( 𝑋 × { ∅ } ) Fn 𝑋 ) |
| 33 |
6
|
adantr |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) → 𝑋 ∈ On ) |
| 34 |
|
inidm |
⊢ ( 𝑋 ∩ 𝑋 ) = 𝑋 |
| 35 |
30 32 33 33 34
|
offn |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) → ( 𝑓 ∘f +o ( 𝑋 × { ∅ } ) ) Fn 𝑋 ) |
| 36 |
30
|
adantr |
⊢ ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) ∧ 𝑥 ∈ 𝑋 ) → 𝑓 Fn 𝑋 ) |
| 37 |
3 31
|
mp1i |
⊢ ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) ∧ 𝑥 ∈ 𝑋 ) → ( 𝑋 × { ∅ } ) Fn 𝑋 ) |
| 38 |
|
simplll |
⊢ ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) ∧ 𝑥 ∈ 𝑋 ) → 𝑋 ∈ On ) |
| 39 |
|
simpr |
⊢ ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) ∧ 𝑥 ∈ 𝑋 ) → 𝑥 ∈ 𝑋 ) |
| 40 |
|
fnfvof |
⊢ ( ( ( 𝑓 Fn 𝑋 ∧ ( 𝑋 × { ∅ } ) Fn 𝑋 ) ∧ ( 𝑋 ∈ On ∧ 𝑥 ∈ 𝑋 ) ) → ( ( 𝑓 ∘f +o ( 𝑋 × { ∅ } ) ) ‘ 𝑥 ) = ( ( 𝑓 ‘ 𝑥 ) +o ( ( 𝑋 × { ∅ } ) ‘ 𝑥 ) ) ) |
| 41 |
36 37 38 39 40
|
syl22anc |
⊢ ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) ∧ 𝑥 ∈ 𝑋 ) → ( ( 𝑓 ∘f +o ( 𝑋 × { ∅ } ) ) ‘ 𝑥 ) = ( ( 𝑓 ‘ 𝑥 ) +o ( ( 𝑋 × { ∅ } ) ‘ 𝑥 ) ) ) |
| 42 |
3
|
a1i |
⊢ ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) ∧ 𝑥 ∈ 𝑋 ) → ∅ ∈ ω ) |
| 43 |
|
fvconst2g |
⊢ ( ( ∅ ∈ ω ∧ 𝑥 ∈ 𝑋 ) → ( ( 𝑋 × { ∅ } ) ‘ 𝑥 ) = ∅ ) |
| 44 |
42 39 43
|
syl2anc |
⊢ ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) ∧ 𝑥 ∈ 𝑋 ) → ( ( 𝑋 × { ∅ } ) ‘ 𝑥 ) = ∅ ) |
| 45 |
44
|
oveq2d |
⊢ ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) ∧ 𝑥 ∈ 𝑋 ) → ( ( 𝑓 ‘ 𝑥 ) +o ( ( 𝑋 × { ∅ } ) ‘ 𝑥 ) ) = ( ( 𝑓 ‘ 𝑥 ) +o ∅ ) ) |
| 46 |
29
|
ffvelcdmda |
⊢ ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) ∧ 𝑥 ∈ 𝑋 ) → ( 𝑓 ‘ 𝑥 ) ∈ ω ) |
| 47 |
|
nnon |
⊢ ( ( 𝑓 ‘ 𝑥 ) ∈ ω → ( 𝑓 ‘ 𝑥 ) ∈ On ) |
| 48 |
|
oa0 |
⊢ ( ( 𝑓 ‘ 𝑥 ) ∈ On → ( ( 𝑓 ‘ 𝑥 ) +o ∅ ) = ( 𝑓 ‘ 𝑥 ) ) |
| 49 |
46 47 48
|
3syl |
⊢ ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) ∧ 𝑥 ∈ 𝑋 ) → ( ( 𝑓 ‘ 𝑥 ) +o ∅ ) = ( 𝑓 ‘ 𝑥 ) ) |
| 50 |
41 45 49
|
3eqtrd |
⊢ ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) ∧ 𝑥 ∈ 𝑋 ) → ( ( 𝑓 ∘f +o ( 𝑋 × { ∅ } ) ) ‘ 𝑥 ) = ( 𝑓 ‘ 𝑥 ) ) |
| 51 |
35 30 50
|
eqfnfvd |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) → ( 𝑓 ∘f +o ( 𝑋 × { ∅ } ) ) = 𝑓 ) |
| 52 |
22 51
|
eqtr2d |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝑓 ∈ 𝑆 ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ) → 𝑓 = ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) ( 𝑋 × { ∅ } ) ) ) |
| 53 |
52
|
expr |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝑓 ∈ 𝑆 ) → ( ( 𝑋 × { ∅ } ) ∈ 𝑆 → 𝑓 = ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) ( 𝑋 × { ∅ } ) ) ) ) |
| 54 |
17 53
|
jcai |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝑓 ∈ 𝑆 ) → ( ( 𝑋 × { ∅ } ) ∈ 𝑆 ∧ 𝑓 = ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) ( 𝑋 × { ∅ } ) ) ) ) |
| 55 |
|
oveq2 |
⊢ ( 𝑧 = ( 𝑋 × { ∅ } ) → ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) = ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) ( 𝑋 × { ∅ } ) ) ) |
| 56 |
55
|
rspceeqv |
⊢ ( ( ( 𝑋 × { ∅ } ) ∈ 𝑆 ∧ 𝑓 = ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) ( 𝑋 × { ∅ } ) ) ) → ∃ 𝑧 ∈ 𝑆 𝑓 = ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) ) |
| 57 |
54 56
|
syl |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝑓 ∈ 𝑆 ) → ∃ 𝑧 ∈ 𝑆 𝑓 = ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) ) |
| 58 |
|
oveq1 |
⊢ ( 𝑔 = 𝑓 → ( 𝑔 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) = ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) ) |
| 59 |
58
|
eqeq2d |
⊢ ( 𝑔 = 𝑓 → ( 𝑓 = ( 𝑔 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) ↔ 𝑓 = ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) ) ) |
| 60 |
59
|
rexbidv |
⊢ ( 𝑔 = 𝑓 → ( ∃ 𝑧 ∈ 𝑆 𝑓 = ( 𝑔 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) ↔ ∃ 𝑧 ∈ 𝑆 𝑓 = ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) ) ) |
| 61 |
60
|
rspcev |
⊢ ( ( 𝑓 ∈ 𝑆 ∧ ∃ 𝑧 ∈ 𝑆 𝑓 = ( 𝑓 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) ) → ∃ 𝑔 ∈ 𝑆 ∃ 𝑧 ∈ 𝑆 𝑓 = ( 𝑔 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) ) |
| 62 |
2 57 61
|
syl2anc |
⊢ ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝑓 ∈ 𝑆 ) → ∃ 𝑔 ∈ 𝑆 ∃ 𝑧 ∈ 𝑆 𝑓 = ( 𝑔 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) ) |
| 63 |
62
|
ralrimiva |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ∀ 𝑓 ∈ 𝑆 ∃ 𝑔 ∈ 𝑆 ∃ 𝑧 ∈ 𝑆 𝑓 = ( 𝑔 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) ) |
| 64 |
|
foov |
⊢ ( ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) : ( 𝑆 × 𝑆 ) –onto→ 𝑆 ↔ ( ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) : ( 𝑆 × 𝑆 ) ⟶ 𝑆 ∧ ∀ 𝑓 ∈ 𝑆 ∃ 𝑔 ∈ 𝑆 ∃ 𝑧 ∈ 𝑆 𝑓 = ( 𝑔 ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) 𝑧 ) ) ) |
| 65 |
1 63 64
|
sylanbrc |
⊢ ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( ∘f +o ↾ ( 𝑆 × 𝑆 ) ) : ( 𝑆 × 𝑆 ) –onto→ 𝑆 ) |