Metamath Proof Explorer


Theorem tmachlem-agreeprod

Description: Agreement set can be written as infinite product of acceptable values for tape's cells. (Contributed by Ender Ting, 27-Jul-2026)

Ref Expression
Hypotheses tmach.finalph ⊢ φ → U ∈ Fin
tmach.exindex ⊢ φ → I ∈ V
tmach.tapelist ⊢ φ → T = U I
tmach.scanmap ⊢ φ → S : T ⟶ 𝒫 I ∩ Fin
tmach.agreemap ⊢ φ → A = z ∈ T ⟼ y ∈ T | y ↾ S ⁡ z = z ↾ S ⁡ z
tmach.agreement ⊢ φ → ∀ z ∈ T ∀ y ∈ A ⁡ z S ⁡ y = S ⁡ z
Assertion tmachlem-agreeprod ⊢ φ ∧ a ∈ T → A ⁡ a = ⨉ i ∈ I if i ∈ S ⁡ a a ⁡ i U

Proof

Step Hyp Ref Expression
1 tmach.finalph ⊢ φ → U ∈ Fin
2 tmach.exindex ⊢ φ → I ∈ V
3 tmach.tapelist ⊢ φ → T = U I
4 tmach.scanmap ⊢ φ → S : T ⟶ 𝒫 I ∩ Fin
5 tmach.agreemap ⊢ φ → A = z ∈ T ⟼ y ∈ T | y ↾ S ⁡ z = z ↾ S ⁡ z
6 tmach.agreement ⊢ φ → ∀ z ∈ T ∀ y ∈ A ⁡ z S ⁡ y = S ⁡ z
7 fveq2 ⊢ z = a → S ⁡ z = S ⁡ a
8 7 reseq2d ⊢ z = a → y ↾ S ⁡ z = y ↾ S ⁡ a
9 id ⊢ z = a → z = a
10 9 7 reseq12d ⊢ z = a → z ↾ S ⁡ z = a ↾ S ⁡ a
11 8 10 eqeq12d ⊢ z = a → y ↾ S ⁡ z = z ↾ S ⁡ z ↔ y ↾ S ⁡ a = a ↾ S ⁡ a
12 11 rabbidv ⊢ z = a → y ∈ T | y ↾ S ⁡ z = z ↾ S ⁡ z = y ∈ T | y ↾ S ⁡ a = a ↾ S ⁡ a
13 5 adantr ⊢ φ ∧ a ∈ T → A = z ∈ T ⟼ y ∈ T | y ↾ S ⁡ z = z ↾ S ⁡ z
14 simpr ⊢ φ ∧ a ∈ T → a ∈ T
15 1 2 3 4 5 6 tmachlem-extapes ⊢ φ → T ∈ V
16 15 adantr ⊢ φ ∧ a ∈ T → T ∈ V
17 ssrab2 ⊢ y ∈ T | y ↾ S ⁡ a = a ↾ S ⁡ a ⊆ T
18 17 a1i ⊢ φ ∧ a ∈ T → y ∈ T | y ↾ S ⁡ a = a ↾ S ⁡ a ⊆ T
19 16 18 ssexd ⊢ φ ∧ a ∈ T → y ∈ T | y ↾ S ⁡ a = a ↾ S ⁡ a ∈ V
20 12 13 14 19 fvmptd4 ⊢ φ ∧ a ∈ T → A ⁡ a = y ∈ T | y ↾ S ⁡ a = a ↾ S ⁡ a
21 snfi ⊢ a ⁡ i ∈ Fin
22 21 a1i ⊢ φ ∧ a ∈ T ∧ i ∈ I → a ⁡ i ∈ Fin
23 1 ad2antrr ⊢ φ ∧ a ∈ T ∧ i ∈ I → U ∈ Fin
24 22 23 ifcld ⊢ φ ∧ a ∈ T ∧ i ∈ I → if i ∈ S ⁡ a a ⁡ i U ∈ Fin
25 24 ralrimiva ⊢ φ ∧ a ∈ T → ∀ i ∈ I if i ∈ S ⁡ a a ⁡ i U ∈ Fin
26 ixpssmapg ⊢ ∀ i ∈ I if i ∈ S ⁡ a a ⁡ i U ∈ Fin → ⨉ i ∈ I if i ∈ S ⁡ a a ⁡ i U ⊆ ⋃ i ∈ I if i ∈ S ⁡ a a ⁡ i U I
27 25 26 syl ⊢ φ ∧ a ∈ T → ⨉ i ∈ I if i ∈ S ⁡ a a ⁡ i U ⊆ ⋃ i ∈ I if i ∈ S ⁡ a a ⁡ i U I
28 ifssun ⊢ if i ∈ S ⁡ a a ⁡ i U ⊆ a ⁡ i ∪ U
29 3 eleq2d ⊢ φ → a ∈ T ↔ a ∈ U I
30 29 biimpd ⊢ φ → a ∈ T → a ∈ U I
31 30 imp ⊢ φ ∧ a ∈ T → a ∈ U I
32 elmapi ⊢ a ∈ U I → a : I ⟶ U
33 31 32 syl ⊢ φ ∧ a ∈ T → a : I ⟶ U
34 33 ffvelcdmda ⊢ φ ∧ a ∈ T ∧ i ∈ I → a ⁡ i ∈ U
35 34 snssd ⊢ φ ∧ a ∈ T ∧ i ∈ I → a ⁡ i ⊆ U
36 ssequn1 ⊢ a ⁡ i ⊆ U ↔ a ⁡ i ∪ U = U
37 35 36 sylib ⊢ φ ∧ a ∈ T ∧ i ∈ I → a ⁡ i ∪ U = U
38 28 37 sseqtrid ⊢ φ ∧ a ∈ T ∧ i ∈ I → if i ∈ S ⁡ a a ⁡ i U ⊆ U
39 38 iunssd ⊢ φ ∧ a ∈ T → ⋃ i ∈ I if i ∈ S ⁡ a a ⁡ i U ⊆ U
40 mapss ⊢ U ∈ Fin ∧ ⋃ i ∈ I if i ∈ S ⁡ a a ⁡ i U ⊆ U → ⋃ i ∈ I if i ∈ S ⁡ a a ⁡ i U I ⊆ U I
41 1 39 40 syl2an2r ⊢ φ ∧ a ∈ T → ⋃ i ∈ I if i ∈ S ⁡ a a ⁡ i U I ⊆ U I
42 27 41 sstrd ⊢ φ ∧ a ∈ T → ⨉ i ∈ I if i ∈ S ⁡ a a ⁡ i U ⊆ U I
43 3 adantr ⊢ φ ∧ a ∈ T → T = U I
44 42 43 sseqtrrd ⊢ φ ∧ a ∈ T → ⨉ i ∈ I if i ∈ S ⁡ a a ⁡ i U ⊆ T
45 simplr ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ S ⁡ a → y ⁡ i = a ⁡ i → i ∈ S ⁡ a
46 simpr ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ S ⁡ a → y ⁡ i = a ⁡ i → i ∈ S ⁡ a → y ⁡ i = a ⁡ i
47 45 46 mpd ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ S ⁡ a → y ⁡ i = a ⁡ i → y ⁡ i = a ⁡ i
48 fvex ⊢ y ⁡ i ∈ V
49 48 elsn ⊢ y ⁡ i ∈ a ⁡ i ↔ y ⁡ i = a ⁡ i
50 47 49 sylibr ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ S ⁡ a → y ⁡ i = a ⁡ i → y ⁡ i ∈ a ⁡ i
51 45 iftrued ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ S ⁡ a → y ⁡ i = a ⁡ i → if i ∈ S ⁡ a a ⁡ i U = a ⁡ i
52 50 51 eleqtrrd ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ S ⁡ a → y ⁡ i = a ⁡ i → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
53 52 ex ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a → i ∈ S ⁡ a → y ⁡ i = a ⁡ i → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
54 53 a1dd ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a → i ∈ S ⁡ a → y ⁡ i = a ⁡ i → i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
55 4 ffvelcdmda ⊢ φ ∧ a ∈ T → S ⁡ a ∈ 𝒫 I ∩ Fin
56 55 elin1d ⊢ φ ∧ a ∈ T → S ⁡ a ∈ 𝒫 I
57 56 elpwid ⊢ φ ∧ a ∈ T → S ⁡ a ⊆ I
58 57 adantr ⊢ φ ∧ a ∈ T ∧ y ∈ T → S ⁡ a ⊆ I
59 58 sselda ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a → i ∈ I
60 59 adantr ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U → i ∈ I
61 simpr ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U → i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
62 60 61 mpd ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
63 simplr ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U → i ∈ S ⁡ a
64 63 iftrued ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U → if i ∈ S ⁡ a a ⁡ i U = a ⁡ i
65 62 64 eleqtrd ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U → y ⁡ i ∈ a ⁡ i
66 65 elsnd ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a ∧ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U → y ⁡ i = a ⁡ i
67 66 ex ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a → i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U → y ⁡ i = a ⁡ i
68 67 a1dd ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a → i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U → i ∈ S ⁡ a → y ⁡ i = a ⁡ i
69 54 68 impbid ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ i ∈ S ⁡ a → i ∈ S ⁡ a → y ⁡ i = a ⁡ i ↔ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
70 3 eleq2d ⊢ φ → y ∈ T ↔ y ∈ U I
71 70 biimpd ⊢ φ → y ∈ T → y ∈ U I
72 71 adantr ⊢ φ ∧ a ∈ T → y ∈ T → y ∈ U I
73 72 imp ⊢ φ ∧ a ∈ T ∧ y ∈ T → y ∈ U I
74 elmapi ⊢ y ∈ U I → y : I ⟶ U
75 73 74 syl ⊢ φ ∧ a ∈ T ∧ y ∈ T → y : I ⟶ U
76 75 adantr ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ ¬ i ∈ S ⁡ a → y : I ⟶ U
77 76 ffvelcdmda ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ ¬ i ∈ S ⁡ a ∧ i ∈ I → y ⁡ i ∈ U
78 simplr ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ ¬ i ∈ S ⁡ a ∧ i ∈ I → ¬ i ∈ S ⁡ a
79 78 iffalsed ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ ¬ i ∈ S ⁡ a ∧ i ∈ I → if i ∈ S ⁡ a a ⁡ i U = U
80 77 79 eleqtrrd ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ ¬ i ∈ S ⁡ a ∧ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
81 80 ex ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ ¬ i ∈ S ⁡ a → i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
82 81 a1d ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ ¬ i ∈ S ⁡ a → i ∈ S ⁡ a → y ⁡ i = a ⁡ i → i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
83 simplr ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ ¬ i ∈ S ⁡ a ∧ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U → ¬ i ∈ S ⁡ a
84 83 pm2.21d ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ ¬ i ∈ S ⁡ a ∧ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U → i ∈ S ⁡ a → y ⁡ i = a ⁡ i
85 84 ex ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ ¬ i ∈ S ⁡ a → i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U → i ∈ S ⁡ a → y ⁡ i = a ⁡ i
86 82 85 impbid ⊢ φ ∧ a ∈ T ∧ y ∈ T ∧ ¬ i ∈ S ⁡ a → i ∈ S ⁡ a → y ⁡ i = a ⁡ i ↔ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
87 69 86 pm2.61dan ⊢ φ ∧ a ∈ T ∧ y ∈ T → i ∈ S ⁡ a → y ⁡ i = a ⁡ i ↔ i ∈ I → y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
88 87 ralbidv2 ⊢ φ ∧ a ∈ T ∧ y ∈ T → ∀ i ∈ S ⁡ a y ⁡ i = a ⁡ i ↔ ∀ i ∈ I y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
89 71 imp ⊢ φ ∧ y ∈ T → y ∈ U I
90 elmapfn ⊢ y ∈ U I → y Fn I
91 89 90 syl ⊢ φ ∧ y ∈ T → y Fn I
92 91 adantlr ⊢ φ ∧ a ∈ T ∧ y ∈ T → y Fn I
93 92 biantrurd ⊢ φ ∧ a ∈ T ∧ y ∈ T → ∀ i ∈ I y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U ↔ y Fn I ∧ ∀ i ∈ I y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
94 88 93 bitr2d ⊢ φ ∧ a ∈ T ∧ y ∈ T → y Fn I ∧ ∀ i ∈ I y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U ↔ ∀ i ∈ S ⁡ a y ⁡ i = a ⁡ i
95 vex ⊢ y ∈ V
96 95 elixp ⊢ y ∈ ⨉ i ∈ I if i ∈ S ⁡ a a ⁡ i U ↔ y Fn I ∧ ∀ i ∈ I y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
97 96 a1i ⊢ φ ∧ a ∈ T ∧ y ∈ T → y ∈ ⨉ i ∈ I if i ∈ S ⁡ a a ⁡ i U ↔ y Fn I ∧ ∀ i ∈ I y ⁡ i ∈ if i ∈ S ⁡ a a ⁡ i U
98 elmapfn ⊢ a ∈ U I → a Fn I
99 31 98 syl ⊢ φ ∧ a ∈ T → a Fn I
100 99 adantr ⊢ φ ∧ a ∈ T ∧ y ∈ T → a Fn I
101 fvreseq ⊢ y Fn I ∧ a Fn I ∧ S ⁡ a ⊆ I → y ↾ S ⁡ a = a ↾ S ⁡ a ↔ ∀ i ∈ S ⁡ a y ⁡ i = a ⁡ i
102 92 100 58 101 syl21anc ⊢ φ ∧ a ∈ T ∧ y ∈ T → y ↾ S ⁡ a = a ↾ S ⁡ a ↔ ∀ i ∈ S ⁡ a y ⁡ i = a ⁡ i
103 94 97 102 3bitr4d ⊢ φ ∧ a ∈ T ∧ y ∈ T → y ∈ ⨉ i ∈ I if i ∈ S ⁡ a a ⁡ i U ↔ y ↾ S ⁡ a = a ↾ S ⁡ a
104 44 103 eqrrabd ⊢ φ ∧ a ∈ T → ⨉ i ∈ I if i ∈ S ⁡ a a ⁡ i U = y ∈ T | y ↾ S ⁡ a = a ↾ S ⁡ a
105 20 104 eqtr4d ⊢ φ ∧ a ∈ T → A ⁡ a = ⨉ i ∈ I if i ∈ S ⁡ a a ⁡ i U