Metamath Proof Explorer


Theorem indval2

Description: Alternate value of the indicator function generator. (Contributed by Thierry Arnoux, 2-Feb-2017)

Ref Expression
Assertion indval2 ( ( 𝑂𝑉𝐴𝑂 ) → ( ( 𝟭 ‘ 𝑂 ) ‘ 𝐴 ) = ( ( 𝐴 × { 1 } ) ∪ ( ( 𝑂𝐴 ) × { 0 } ) ) )

Proof

Step Hyp Ref Expression
1 dfmpt3 ( 𝑥𝑂 ↦ if ( 𝑥𝐴 , 1 , 0 ) ) = 𝑥𝑂 ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } )
2 indval ( ( 𝑂𝑉𝐴𝑂 ) → ( ( 𝟭 ‘ 𝑂 ) ‘ 𝐴 ) = ( 𝑥𝑂 ↦ if ( 𝑥𝐴 , 1 , 0 ) ) )
3 undif ( 𝐴𝑂 ↔ ( 𝐴 ∪ ( 𝑂𝐴 ) ) = 𝑂 )
4 3 bilani ( ( 𝑂𝑉𝐴𝑂 ) → ( 𝐴 ∪ ( 𝑂𝐴 ) ) = 𝑂 )
5 4 iuneq1d ( ( 𝑂𝑉𝐴𝑂 ) → 𝑥 ∈ ( 𝐴 ∪ ( 𝑂𝐴 ) ) ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) = 𝑥𝑂 ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) )
6 1 2 5 3eqtr4a ( ( 𝑂𝑉𝐴𝑂 ) → ( ( 𝟭 ‘ 𝑂 ) ‘ 𝐴 ) = 𝑥 ∈ ( 𝐴 ∪ ( 𝑂𝐴 ) ) ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) )
7 iunxun 𝑥 ∈ ( 𝐴 ∪ ( 𝑂𝐴 ) ) ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) = ( 𝑥𝐴 ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) ∪ 𝑥 ∈ ( 𝑂𝐴 ) ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) )
8 6 7 eqtrdi ( ( 𝑂𝑉𝐴𝑂 ) → ( ( 𝟭 ‘ 𝑂 ) ‘ 𝐴 ) = ( 𝑥𝐴 ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) ∪ 𝑥 ∈ ( 𝑂𝐴 ) ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) ) )
9 iftrue ( 𝑥𝐴 → if ( 𝑥𝐴 , 1 , 0 ) = 1 )
10 9 sneqd ( 𝑥𝐴 → { if ( 𝑥𝐴 , 1 , 0 ) } = { 1 } )
11 10 xpeq2d ( 𝑥𝐴 → ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) = ( { 𝑥 } × { 1 } ) )
12 11 iuneq2i 𝑥𝐴 ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) = 𝑥𝐴 ( { 𝑥 } × { 1 } )
13 iunxpconst 𝑥𝐴 ( { 𝑥 } × { 1 } ) = ( 𝐴 × { 1 } )
14 12 13 eqtri 𝑥𝐴 ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) = ( 𝐴 × { 1 } )
15 eldifn ( 𝑥 ∈ ( 𝑂𝐴 ) → ¬ 𝑥𝐴 )
16 iffalse ( ¬ 𝑥𝐴 → if ( 𝑥𝐴 , 1 , 0 ) = 0 )
17 16 sneqd ( ¬ 𝑥𝐴 → { if ( 𝑥𝐴 , 1 , 0 ) } = { 0 } )
18 15 17 syl ( 𝑥 ∈ ( 𝑂𝐴 ) → { if ( 𝑥𝐴 , 1 , 0 ) } = { 0 } )
19 18 xpeq2d ( 𝑥 ∈ ( 𝑂𝐴 ) → ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) = ( { 𝑥 } × { 0 } ) )
20 19 iuneq2i 𝑥 ∈ ( 𝑂𝐴 ) ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) = 𝑥 ∈ ( 𝑂𝐴 ) ( { 𝑥 } × { 0 } )
21 iunxpconst 𝑥 ∈ ( 𝑂𝐴 ) ( { 𝑥 } × { 0 } ) = ( ( 𝑂𝐴 ) × { 0 } )
22 20 21 eqtri 𝑥 ∈ ( 𝑂𝐴 ) ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) = ( ( 𝑂𝐴 ) × { 0 } )
23 14 22 uneq12i ( 𝑥𝐴 ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) ∪ 𝑥 ∈ ( 𝑂𝐴 ) ( { 𝑥 } × { if ( 𝑥𝐴 , 1 , 0 ) } ) ) = ( ( 𝐴 × { 1 } ) ∪ ( ( 𝑂𝐴 ) × { 0 } ) )
24 8 23 eqtrdi ( ( 𝑂𝑉𝐴𝑂 ) → ( ( 𝟭 ‘ 𝑂 ) ‘ 𝐴 ) = ( ( 𝐴 × { 1 } ) ∪ ( ( 𝑂𝐴 ) × { 0 } ) ) )