# Metamath Proof Explorer

## Theorem fac0

Description: The factorial of 0. (Contributed by NM, 2-Dec-2004) (Revised by Mario Carneiro, 13-Jul-2013)

Ref Expression
Assertion fac0 ( ! ‘ 0 ) = 1

### Proof

Step Hyp Ref Expression
1 c0ex 0 ∈ V
2 1 a1i ( ⊤ → 0 ∈ V )
3 1ex 1 ∈ V
4 3 a1i ( ⊤ → 1 ∈ V )
5 df-fac ! = ( { ⟨ 0 , 1 ⟩ } ∪ seq 1 ( · , I ) )
6 nnuz ℕ = ( ℤ ‘ 1 )
7 dfn2 ℕ = ( ℕ0 ∖ { 0 } )
8 6 7 eqtr3i ( ℤ ‘ 1 ) = ( ℕ0 ∖ { 0 } )
9 8 reseq2i ( seq 1 ( · , I ) ↾ ( ℤ ‘ 1 ) ) = ( seq 1 ( · , I ) ↾ ( ℕ0 ∖ { 0 } ) )
10 1z 1 ∈ ℤ
11 seqfn ( 1 ∈ ℤ → seq 1 ( · , I ) Fn ( ℤ ‘ 1 ) )
12 fnresdm ( seq 1 ( · , I ) Fn ( ℤ ‘ 1 ) → ( seq 1 ( · , I ) ↾ ( ℤ ‘ 1 ) ) = seq 1 ( · , I ) )
13 10 11 12 mp2b ( seq 1 ( · , I ) ↾ ( ℤ ‘ 1 ) ) = seq 1 ( · , I )
14 9 13 eqtr3i ( seq 1 ( · , I ) ↾ ( ℕ0 ∖ { 0 } ) ) = seq 1 ( · , I )
15 14 uneq2i ( { ⟨ 0 , 1 ⟩ } ∪ ( seq 1 ( · , I ) ↾ ( ℕ0 ∖ { 0 } ) ) ) = ( { ⟨ 0 , 1 ⟩ } ∪ seq 1 ( · , I ) )
16 5 15 eqtr4i ! = ( { ⟨ 0 , 1 ⟩ } ∪ ( seq 1 ( · , I ) ↾ ( ℕ0 ∖ { 0 } ) ) )
17 2 4 16 fvsnun1 ( ⊤ → ( ! ‘ 0 ) = 1 )
18 17 mptru ( ! ‘ 0 ) = 1