Metamath Proof Explorer


Theorem facp2

Description: The factorial of a successor's successor. (Contributed by metakunt, 19-Apr-2024)

Ref Expression
Assertion facp2 ( 𝑁 ∈ ℕ0 → ( ! ‘ ( 𝑁 + 2 ) ) = ( ( ! ‘ 𝑁 ) · ( ( 𝑁 + 1 ) · ( 𝑁 + 2 ) ) ) )

Proof

Step Hyp Ref Expression
1 nn0cn ⊢ ( 𝑁 ∈ ℕ0 → 𝑁 ∈ ℂ )
2 ax-1cn ⊢ 1 ∈ ℂ
3 addass ⊢ ( ( 𝑁 ∈ ℂ ∧ 1 ∈ ℂ ∧ 1 ∈ ℂ ) → ( ( 𝑁 + 1 ) + 1 ) = ( 𝑁 + ( 1 + 1 ) ) )
4 2 2 3 mp3an23 ⊢ ( 𝑁 ∈ ℂ → ( ( 𝑁 + 1 ) + 1 ) = ( 𝑁 + ( 1 + 1 ) ) )
5 1 4 syl ⊢ ( 𝑁 ∈ ℕ0 → ( ( 𝑁 + 1 ) + 1 ) = ( 𝑁 + ( 1 + 1 ) ) )
6 df-2 ⊢ 2 = ( 1 + 1 )
7 6 oveq2i ⊢ ( 𝑁 + 2 ) = ( 𝑁 + ( 1 + 1 ) )
8 7 eqcomi ⊢ ( 𝑁 + ( 1 + 1 ) ) = ( 𝑁 + 2 )
9 8 a1i ⊢ ( 𝑁 ∈ ℕ0 → ( 𝑁 + ( 1 + 1 ) ) = ( 𝑁 + 2 ) )
10 5 9 eqtrd ⊢ ( 𝑁 ∈ ℕ0 → ( ( 𝑁 + 1 ) + 1 ) = ( 𝑁 + 2 ) )
11 10 fveq2d ⊢ ( 𝑁 ∈ ℕ0 → ( ! ‘ ( ( 𝑁 + 1 ) + 1 ) ) = ( ! ‘ ( 𝑁 + 2 ) ) )
12 peano2nn0 ⊢ ( 𝑁 ∈ ℕ0 → ( 𝑁 + 1 ) ∈ ℕ0 )
13 facp1 ⊢ ( ( 𝑁 + 1 ) ∈ ℕ0 → ( ! ‘ ( ( 𝑁 + 1 ) + 1 ) ) = ( ( ! ‘ ( 𝑁 + 1 ) ) · ( ( 𝑁 + 1 ) + 1 ) ) )
14 12 13 syl ⊢ ( 𝑁 ∈ ℕ0 → ( ! ‘ ( ( 𝑁 + 1 ) + 1 ) ) = ( ( ! ‘ ( 𝑁 + 1 ) ) · ( ( 𝑁 + 1 ) + 1 ) ) )
15 11 14 eqtr3d ⊢ ( 𝑁 ∈ ℕ0 → ( ! ‘ ( 𝑁 + 2 ) ) = ( ( ! ‘ ( 𝑁 + 1 ) ) · ( ( 𝑁 + 1 ) + 1 ) ) )
16 10 oveq2d ⊢ ( 𝑁 ∈ ℕ0 → ( ( ! ‘ ( 𝑁 + 1 ) ) · ( ( 𝑁 + 1 ) + 1 ) ) = ( ( ! ‘ ( 𝑁 + 1 ) ) · ( 𝑁 + 2 ) ) )
17 15 16 eqtrd ⊢ ( 𝑁 ∈ ℕ0 → ( ! ‘ ( 𝑁 + 2 ) ) = ( ( ! ‘ ( 𝑁 + 1 ) ) · ( 𝑁 + 2 ) ) )
18 facp1 ⊢ ( 𝑁 ∈ ℕ0 → ( ! ‘ ( 𝑁 + 1 ) ) = ( ( ! ‘ 𝑁 ) · ( 𝑁 + 1 ) ) )
19 18 oveq1d ⊢ ( 𝑁 ∈ ℕ0 → ( ( ! ‘ ( 𝑁 + 1 ) ) · ( 𝑁 + 2 ) ) = ( ( ( ! ‘ 𝑁 ) · ( 𝑁 + 1 ) ) · ( 𝑁 + 2 ) ) )
20 17 19 eqtrd ⊢ ( 𝑁 ∈ ℕ0 → ( ! ‘ ( 𝑁 + 2 ) ) = ( ( ( ! ‘ 𝑁 ) · ( 𝑁 + 1 ) ) · ( 𝑁 + 2 ) ) )
21 faccl ⊢ ( 𝑁 ∈ ℕ0 → ( ! ‘ 𝑁 ) ∈ ℕ )
22 nncn ⊢ ( ( ! ‘ 𝑁 ) ∈ ℕ → ( ! ‘ 𝑁 ) ∈ ℂ )
23 21 22 syl ⊢ ( 𝑁 ∈ ℕ0 → ( ! ‘ 𝑁 ) ∈ ℂ )
24 nn0cn ⊢ ( ( 𝑁 + 1 ) ∈ ℕ0 → ( 𝑁 + 1 ) ∈ ℂ )
25 12 24 syl ⊢ ( 𝑁 ∈ ℕ0 → ( 𝑁 + 1 ) ∈ ℂ )
26 2cn ⊢ 2 ∈ ℂ
27 addcl ⊢ ( ( 𝑁 ∈ ℂ ∧ 2 ∈ ℂ ) → ( 𝑁 + 2 ) ∈ ℂ )
28 26 27 mpan2 ⊢ ( 𝑁 ∈ ℂ → ( 𝑁 + 2 ) ∈ ℂ )
29 1 28 syl ⊢ ( 𝑁 ∈ ℕ0 → ( 𝑁 + 2 ) ∈ ℂ )
30 mulass ⊢ ( ( ( ! ‘ 𝑁 ) ∈ ℂ ∧ ( 𝑁 + 1 ) ∈ ℂ ∧ ( 𝑁 + 2 ) ∈ ℂ ) → ( ( ( ! ‘ 𝑁 ) · ( 𝑁 + 1 ) ) · ( 𝑁 + 2 ) ) = ( ( ! ‘ 𝑁 ) · ( ( 𝑁 + 1 ) · ( 𝑁 + 2 ) ) ) )
31 23 25 29 30 syl3anc ⊢ ( 𝑁 ∈ ℕ0 → ( ( ( ! ‘ 𝑁 ) · ( 𝑁 + 1 ) ) · ( 𝑁 + 2 ) ) = ( ( ! ‘ 𝑁 ) · ( ( 𝑁 + 1 ) · ( 𝑁 + 2 ) ) ) )
32 20 31 eqtrd ⊢ ( 𝑁 ∈ ℕ0 → ( ! ‘ ( 𝑁 + 2 ) ) = ( ( ! ‘ 𝑁 ) · ( ( 𝑁 + 1 ) · ( 𝑁 + 2 ) ) ) )