Metamath Proof Explorer


Theorem sbcie2s

Description: A special version of class substitution commonly used for structures. (Contributed by Thierry Arnoux, 14-Mar-2019)

Ref Expression
Hypotheses sbcie2s.a 𝐴 = ( 𝐸𝑊 )
sbcie2s.b 𝐵 = ( 𝐹𝑊 )
sbcie2s.1 ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) → ( 𝜑𝜓 ) )
Assertion sbcie2s ( 𝑤 = 𝑊 → ( [ ( 𝐸𝑤 ) / 𝑎 ] [ ( 𝐹𝑤 ) / 𝑏 ] 𝜓𝜑 ) )

Proof

Step Hyp Ref Expression
1 sbcie2s.a 𝐴 = ( 𝐸𝑊 )
2 sbcie2s.b 𝐵 = ( 𝐹𝑊 )
3 sbcie2s.1 ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) → ( 𝜑𝜓 ) )
4 fvex ( 𝐸𝑤 ) ∈ V
5 fvex ( 𝐹𝑤 ) ∈ V
6 simprl ( ( 𝑤 = 𝑊 ∧ ( 𝑎 = ( 𝐸𝑤 ) ∧ 𝑏 = ( 𝐹𝑤 ) ) ) → 𝑎 = ( 𝐸𝑤 ) )
7 fveq2 ( 𝑤 = 𝑊 → ( 𝐸𝑤 ) = ( 𝐸𝑊 ) )
8 7 1 eqtr4di ( 𝑤 = 𝑊 → ( 𝐸𝑤 ) = 𝐴 )
9 8 adantr ( ( 𝑤 = 𝑊 ∧ ( 𝑎 = ( 𝐸𝑤 ) ∧ 𝑏 = ( 𝐹𝑤 ) ) ) → ( 𝐸𝑤 ) = 𝐴 )
10 6 9 eqtrd ( ( 𝑤 = 𝑊 ∧ ( 𝑎 = ( 𝐸𝑤 ) ∧ 𝑏 = ( 𝐹𝑤 ) ) ) → 𝑎 = 𝐴 )
11 simprr ( ( 𝑤 = 𝑊 ∧ ( 𝑎 = ( 𝐸𝑤 ) ∧ 𝑏 = ( 𝐹𝑤 ) ) ) → 𝑏 = ( 𝐹𝑤 ) )
12 fveq2 ( 𝑤 = 𝑊 → ( 𝐹𝑤 ) = ( 𝐹𝑊 ) )
13 12 2 eqtr4di ( 𝑤 = 𝑊 → ( 𝐹𝑤 ) = 𝐵 )
14 13 adantr ( ( 𝑤 = 𝑊 ∧ ( 𝑎 = ( 𝐸𝑤 ) ∧ 𝑏 = ( 𝐹𝑤 ) ) ) → ( 𝐹𝑤 ) = 𝐵 )
15 11 14 eqtrd ( ( 𝑤 = 𝑊 ∧ ( 𝑎 = ( 𝐸𝑤 ) ∧ 𝑏 = ( 𝐹𝑤 ) ) ) → 𝑏 = 𝐵 )
16 10 15 3 syl2anc ( ( 𝑤 = 𝑊 ∧ ( 𝑎 = ( 𝐸𝑤 ) ∧ 𝑏 = ( 𝐹𝑤 ) ) ) → ( 𝜑𝜓 ) )
17 16 bicomd ( ( 𝑤 = 𝑊 ∧ ( 𝑎 = ( 𝐸𝑤 ) ∧ 𝑏 = ( 𝐹𝑤 ) ) ) → ( 𝜓𝜑 ) )
18 17 ex ( 𝑤 = 𝑊 → ( ( 𝑎 = ( 𝐸𝑤 ) ∧ 𝑏 = ( 𝐹𝑤 ) ) → ( 𝜓𝜑 ) ) )
19 4 5 18 sbc2iedv ( 𝑤 = 𝑊 → ( [ ( 𝐸𝑤 ) / 𝑎 ] [ ( 𝐹𝑤 ) / 𝑏 ] 𝜓𝜑 ) )