Metamath Proof Explorer


Theorem fndmdif

Description: Two ways to express the locus of differences between two functions. (Contributed by Stefan O'Rear, 17-Jan-2015)

Ref Expression
Assertion fndmdif FFnAGFnAdomFG=xA|FxGx

Proof

Step Hyp Ref Expression
1 difss FGF
2 dmss FGFdomFGdomF
3 1 2 ax-mp domFGdomF
4 fndm FFnAdomF=A
5 4 adantr FFnAGFnAdomF=A
6 3 5 sseqtrid FFnAGFnAdomFGA
7 sseqin2 domFGAAdomFG=domFG
8 6 7 sylib FFnAGFnAAdomFG=domFG
9 vex xV
10 9 eldm xdomFGyxFGy
11 eqcom Fx=GxGx=Fx
12 fnbrfvb GFnAxAGx=FxxGFx
13 11 12 bitrid GFnAxAFx=GxxGFx
14 13 adantll FFnAGFnAxAFx=GxxGFx
15 14 necon3abid FFnAGFnAxAFxGx¬xGFx
16 fvex FxV
17 breq2 y=FxxGyxGFx
18 17 notbid y=Fx¬xGy¬xGFx
19 16 18 ceqsexv yy=Fx¬xGy¬xGFx
20 15 19 bitr4di FFnAGFnAxAFxGxyy=Fx¬xGy
21 eqcom y=FxFx=y
22 fnbrfvb FFnAxAFx=yxFy
23 21 22 bitrid FFnAxAy=FxxFy
24 23 adantlr FFnAGFnAxAy=FxxFy
25 24 anbi1d FFnAGFnAxAy=Fx¬xGyxFy¬xGy
26 brdif xFGyxFy¬xGy
27 25 26 bitr4di FFnAGFnAxAy=Fx¬xGyxFGy
28 27 exbidv FFnAGFnAxAyy=Fx¬xGyyxFGy
29 20 28 bitr2d FFnAGFnAxAyxFGyFxGx
30 10 29 bitrid FFnAGFnAxAxdomFGFxGx
31 30 rabbi2dva FFnAGFnAAdomFG=xA|FxGx
32 8 31 eqtr3d FFnAGFnAdomFG=xA|FxGx