Metamath Proof Explorer


Theorem partfun2

Description: Rewrite a function defined by parts, using a mapping and an if construct, into a union of functions on disjoint domains. See also partfun and ifmpt2v . (Contributed by Thierry Arnoux, 25-Jan-2026)

Ref Expression
Hypothesis partfun2.1 𝐷 = { 𝑥𝐴𝜑 }
Assertion partfun2 ( 𝑥𝐴 ↦ if ( 𝜑 , 𝐵 , 𝐶 ) ) = ( ( 𝑥𝐷𝐵 ) ∪ ( 𝑥 ∈ ( 𝐴𝐷 ) ↦ 𝐶 ) )

Proof

Step Hyp Ref Expression
1 partfun2.1 𝐷 = { 𝑥𝐴𝜑 }
2 partfun ( 𝑥𝐴 ↦ if ( 𝑥𝐷 , 𝐵 , 𝐶 ) ) = ( ( 𝑥 ∈ ( 𝐴𝐷 ) ↦ 𝐵 ) ∪ ( 𝑥 ∈ ( 𝐴𝐷 ) ↦ 𝐶 ) )
3 1 reqabi ( 𝑥𝐷 ↔ ( 𝑥𝐴𝜑 ) )
4 3 baib ( 𝑥𝐴 → ( 𝑥𝐷𝜑 ) )
5 4 ifbid ( 𝑥𝐴 → if ( 𝑥𝐷 , 𝐵 , 𝐶 ) = if ( 𝜑 , 𝐵 , 𝐶 ) )
6 5 mpteq2ia ( 𝑥𝐴 ↦ if ( 𝑥𝐷 , 𝐵 , 𝐶 ) ) = ( 𝑥𝐴 ↦ if ( 𝜑 , 𝐵 , 𝐶 ) )
7 1 ssrab3 𝐷𝐴
8 sseqin2 ( 𝐷𝐴 ↔ ( 𝐴𝐷 ) = 𝐷 )
9 7 8 mpbi ( 𝐴𝐷 ) = 𝐷
10 9 mpteq1i ( 𝑥 ∈ ( 𝐴𝐷 ) ↦ 𝐵 ) = ( 𝑥𝐷𝐵 )
11 10 uneq1i ( ( 𝑥 ∈ ( 𝐴𝐷 ) ↦ 𝐵 ) ∪ ( 𝑥 ∈ ( 𝐴𝐷 ) ↦ 𝐶 ) ) = ( ( 𝑥𝐷𝐵 ) ∪ ( 𝑥 ∈ ( 𝐴𝐷 ) ↦ 𝐶 ) )
12 2 6 11 3eqtr3i ( 𝑥𝐴 ↦ if ( 𝜑 , 𝐵 , 𝐶 ) ) = ( ( 𝑥𝐷𝐵 ) ∪ ( 𝑥 ∈ ( 𝐴𝐷 ) ↦ 𝐶 ) )