Metamath Proof Explorer


Theorem tmachlem-agreefin

Description: Any agreement set has a finite (singleton) list of possible scans. (Contributed by Ender Ting, 28-Jul-2026)

Ref Expression
Hypotheses tmach.finalph ( 𝜑𝑈 ∈ Fin )
tmach.exindex ( 𝜑𝐼 ∈ V )
tmach.tapelist ( 𝜑𝑇 = ( 𝑈m 𝐼 ) )
tmach.scanmap ( 𝜑𝑆 : 𝑇 ⟶ ( 𝒫 𝐼 ∩ Fin ) )
tmach.agreemap ( 𝜑𝐴 = ( 𝑧𝑇 ↦ { 𝑦𝑇 ∣ ( 𝑦 ↾ ( 𝑆𝑧 ) ) = ( 𝑧 ↾ ( 𝑆𝑧 ) ) } ) )
tmach.agreement ( 𝜑 → ∀ 𝑧𝑇𝑦 ∈ ( 𝐴𝑧 ) ( 𝑆𝑦 ) = ( 𝑆𝑧 ) )
Assertion tmachlem-agreefin ( ( 𝜑𝑏 ∈ ran 𝐴 ) → ( 𝑆𝑏 ) ∈ Fin )

Proof

Step Hyp Ref Expression
1 tmach.finalph ( 𝜑𝑈 ∈ Fin )
2 tmach.exindex ( 𝜑𝐼 ∈ V )
3 tmach.tapelist ( 𝜑𝑇 = ( 𝑈m 𝐼 ) )
4 tmach.scanmap ( 𝜑𝑆 : 𝑇 ⟶ ( 𝒫 𝐼 ∩ Fin ) )
5 tmach.agreemap ( 𝜑𝐴 = ( 𝑧𝑇 ↦ { 𝑦𝑇 ∣ ( 𝑦 ↾ ( 𝑆𝑧 ) ) = ( 𝑧 ↾ ( 𝑆𝑧 ) ) } ) )
6 tmach.agreement ( 𝜑 → ∀ 𝑧𝑇𝑦 ∈ ( 𝐴𝑧 ) ( 𝑆𝑦 ) = ( 𝑆𝑧 ) )
7 funmpt Fun ( 𝑧𝑇 ↦ { 𝑦𝑇 ∣ ( 𝑦 ↾ ( 𝑆𝑧 ) ) = ( 𝑧 ↾ ( 𝑆𝑧 ) ) } )
8 5 funeqd ( 𝜑 → ( Fun 𝐴 ↔ Fun ( 𝑧𝑇 ↦ { 𝑦𝑇 ∣ ( 𝑦 ↾ ( 𝑆𝑧 ) ) = ( 𝑧 ↾ ( 𝑆𝑧 ) ) } ) ) )
9 7 8 mpbiri ( 𝜑 → Fun 𝐴 )
10 elrnrexdm ( Fun 𝐴 → ( 𝑏 ∈ ran 𝐴 → ∃ 𝑎 ∈ dom 𝐴 𝑏 = ( 𝐴𝑎 ) ) )
11 9 10 syl ( 𝜑 → ( 𝑏 ∈ ran 𝐴 → ∃ 𝑎 ∈ dom 𝐴 𝑏 = ( 𝐴𝑎 ) ) )
12 11 imp ( ( 𝜑𝑏 ∈ ran 𝐴 ) → ∃ 𝑎 ∈ dom 𝐴 𝑏 = ( 𝐴𝑎 ) )
13 simprr ( ( ( 𝜑𝑏 ∈ ran 𝐴 ) ∧ ( 𝑎 ∈ dom 𝐴𝑏 = ( 𝐴𝑎 ) ) ) → 𝑏 = ( 𝐴𝑎 ) )
14 13 imaeq2d ( ( ( 𝜑𝑏 ∈ ran 𝐴 ) ∧ ( 𝑎 ∈ dom 𝐴𝑏 = ( 𝐴𝑎 ) ) ) → ( 𝑆𝑏 ) = ( 𝑆 “ ( 𝐴𝑎 ) ) )
15 simpll ( ( ( 𝜑𝑏 ∈ ran 𝐴 ) ∧ ( 𝑎 ∈ dom 𝐴𝑏 = ( 𝐴𝑎 ) ) ) → 𝜑 )
16 simprl ( ( ( 𝜑𝑏 ∈ ran 𝐴 ) ∧ ( 𝑎 ∈ dom 𝐴𝑏 = ( 𝐴𝑎 ) ) ) → 𝑎 ∈ dom 𝐴 )
17 5 dmeqd ( 𝜑 → dom 𝐴 = dom ( 𝑧𝑇 ↦ { 𝑦𝑇 ∣ ( 𝑦 ↾ ( 𝑆𝑧 ) ) = ( 𝑧 ↾ ( 𝑆𝑧 ) ) } ) )
18 1 2 3 4 5 6 tmachlem-extapes ( 𝜑𝑇 ∈ V )
19 ssrab2 { 𝑦𝑇 ∣ ( 𝑦 ↾ ( 𝑆𝑧 ) ) = ( 𝑧 ↾ ( 𝑆𝑧 ) ) } ⊆ 𝑇
20 19 a1i ( 𝜑 → { 𝑦𝑇 ∣ ( 𝑦 ↾ ( 𝑆𝑧 ) ) = ( 𝑧 ↾ ( 𝑆𝑧 ) ) } ⊆ 𝑇 )
21 18 20 ssexd ( 𝜑 → { 𝑦𝑇 ∣ ( 𝑦 ↾ ( 𝑆𝑧 ) ) = ( 𝑧 ↾ ( 𝑆𝑧 ) ) } ∈ V )
22 21 ralrimivw ( 𝜑 → ∀ 𝑧𝑇 { 𝑦𝑇 ∣ ( 𝑦 ↾ ( 𝑆𝑧 ) ) = ( 𝑧 ↾ ( 𝑆𝑧 ) ) } ∈ V )
23 dmmptg ( ∀ 𝑧𝑇 { 𝑦𝑇 ∣ ( 𝑦 ↾ ( 𝑆𝑧 ) ) = ( 𝑧 ↾ ( 𝑆𝑧 ) ) } ∈ V → dom ( 𝑧𝑇 ↦ { 𝑦𝑇 ∣ ( 𝑦 ↾ ( 𝑆𝑧 ) ) = ( 𝑧 ↾ ( 𝑆𝑧 ) ) } ) = 𝑇 )
24 22 23 syl ( 𝜑 → dom ( 𝑧𝑇 ↦ { 𝑦𝑇 ∣ ( 𝑦 ↾ ( 𝑆𝑧 ) ) = ( 𝑧 ↾ ( 𝑆𝑧 ) ) } ) = 𝑇 )
25 17 24 eqtrd ( 𝜑 → dom 𝐴 = 𝑇 )
26 25 ad2antrr ( ( ( 𝜑𝑏 ∈ ran 𝐴 ) ∧ ( 𝑎 ∈ dom 𝐴𝑏 = ( 𝐴𝑎 ) ) ) → dom 𝐴 = 𝑇 )
27 16 26 eleqtrd ( ( ( 𝜑𝑏 ∈ ran 𝐴 ) ∧ ( 𝑎 ∈ dom 𝐴𝑏 = ( 𝐴𝑎 ) ) ) → 𝑎𝑇 )
28 1 2 3 4 5 6 tmachlem-agreesn ( ( 𝜑𝑎𝑇 ) → ( 𝑆 “ ( 𝐴𝑎 ) ) = { ( 𝑆𝑎 ) } )
29 15 27 28 syl2anc ( ( ( 𝜑𝑏 ∈ ran 𝐴 ) ∧ ( 𝑎 ∈ dom 𝐴𝑏 = ( 𝐴𝑎 ) ) ) → ( 𝑆 “ ( 𝐴𝑎 ) ) = { ( 𝑆𝑎 ) } )
30 14 29 eqtrd ( ( ( 𝜑𝑏 ∈ ran 𝐴 ) ∧ ( 𝑎 ∈ dom 𝐴𝑏 = ( 𝐴𝑎 ) ) ) → ( 𝑆𝑏 ) = { ( 𝑆𝑎 ) } )
31 snfi { ( 𝑆𝑎 ) } ∈ Fin
32 30 31 eqeltrdi ( ( ( 𝜑𝑏 ∈ ran 𝐴 ) ∧ ( 𝑎 ∈ dom 𝐴𝑏 = ( 𝐴𝑎 ) ) ) → ( 𝑆𝑏 ) ∈ Fin )
33 12 32 rexlimddv ( ( 𝜑𝑏 ∈ ran 𝐴 ) → ( 𝑆𝑏 ) ∈ Fin )