Metamath Proof Explorer


Theorem varprop

Description: Variables encoded as natural numbers are sentences of propositional calculus. (Contributed by Thomas van Maaren, 21-Aug-2026)

Ref Expression
Assertion varprop ( 𝑛 ∈ ℕ → ( propvar ‘ 𝑛 ) ∈ PROP )

Proof

Step Hyp Ref Expression
1 df-prop PROP = setrecs ( ( 𝑦 ∈ V ↦ { 𝑥 ∣ ( ∃ 𝑧𝑦 ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤𝑦 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } ) )
2 0ex ∅ ∈ V
3 2 a1i ( 𝑛 ∈ ℕ → ∅ ∈ V )
4 0ss ∅ ⊆ PROP
5 4 a1i ( 𝑛 ∈ ℕ → ∅ ⊆ PROP )
6 1 3 5 setrec1 ( 𝑛 ∈ ℕ → ( ( 𝑦 ∈ V ↦ { 𝑥 ∣ ( ∃ 𝑧𝑦 ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤𝑦 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } ) ‘ ∅ ) ⊆ PROP )
7 rspe ( ( 𝑛 ∈ ℕ ∧ 𝑥 = ( propvar ‘ 𝑛 ) ) → ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) )
8 7 olcd ( ( 𝑛 ∈ ℕ ∧ 𝑥 = ( propvar ‘ 𝑛 ) ) → ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) )
9 8 ex ( 𝑛 ∈ ℕ → ( 𝑥 = ( propvar ‘ 𝑛 ) → ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) ) )
10 9 alrimiv ( 𝑛 ∈ ℕ → ∀ 𝑥 ( 𝑥 = ( propvar ‘ 𝑛 ) → ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) ) )
11 fvex ( propvar ‘ 𝑛 ) ∈ V
12 elab6g ( ( propvar ‘ 𝑛 ) ∈ V → ( ( propvar ‘ 𝑛 ) ∈ { 𝑥 ∣ ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } ↔ ∀ 𝑥 ( 𝑥 = ( propvar ‘ 𝑛 ) → ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) ) ) )
13 11 12 ax-mp ( ( propvar ‘ 𝑛 ) ∈ { 𝑥 ∣ ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } ↔ ∀ 𝑥 ( 𝑥 = ( propvar ‘ 𝑛 ) → ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) ) )
14 10 13 sylibr ( 𝑛 ∈ ℕ → ( propvar ‘ 𝑛 ) ∈ { 𝑥 ∣ ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } )
15 rexeq ( 𝑦 = ∅ → ( ∃ 𝑤𝑦 𝑥 = ( 𝑤 prop→ 𝑧 ) ↔ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) )
16 15 orbi2d ( 𝑦 = ∅ → ( ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤𝑦 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ↔ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ) )
17 16 rexeqbi1dv ( 𝑦 = ∅ → ( ∃ 𝑧𝑦 ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤𝑦 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ↔ ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ) )
18 17 orbi1d ( 𝑦 = ∅ → ( ( ∃ 𝑧𝑦 ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤𝑦 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) ↔ ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) ) )
19 18 abbidv ( 𝑦 = ∅ → { 𝑥 ∣ ( ∃ 𝑧𝑦 ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤𝑦 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } = { 𝑥 ∣ ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } )
20 eqid ( 𝑦 ∈ V ↦ { 𝑥 ∣ ( ∃ 𝑧𝑦 ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤𝑦 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } ) = ( 𝑦 ∈ V ↦ { 𝑥 ∣ ( ∃ 𝑧𝑦 ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤𝑦 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } )
21 2 dfproplem { 𝑥 ∣ ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } ∈ V
22 19 20 21 fvmpt ( ∅ ∈ V → ( ( 𝑦 ∈ V ↦ { 𝑥 ∣ ( ∃ 𝑧𝑦 ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤𝑦 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } ) ‘ ∅ ) = { 𝑥 ∣ ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } )
23 2 22 ax-mp ( ( 𝑦 ∈ V ↦ { 𝑥 ∣ ( ∃ 𝑧𝑦 ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤𝑦 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } ) ‘ ∅ ) = { 𝑥 ∣ ( ∃ 𝑧 ∈ ∅ ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤 ∈ ∅ 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) }
24 14 23 eleqtrrdi ( 𝑛 ∈ ℕ → ( propvar ‘ 𝑛 ) ∈ ( ( 𝑦 ∈ V ↦ { 𝑥 ∣ ( ∃ 𝑧𝑦 ( 𝑥 = ( prop¬ ‘ 𝑧 ) ∨ ∃ 𝑤𝑦 𝑥 = ( 𝑤 prop→ 𝑧 ) ) ∨ ∃ 𝑛 ∈ ℕ 𝑥 = ( propvar ‘ 𝑛 ) ) } ) ‘ ∅ ) )
25 6 24 sseldd ( 𝑛 ∈ ℕ → ( propvar ‘ 𝑛 ) ∈ PROP )