********************************************************************** ** The [x=0] operator (and friends) ** ********************************************************************** Calculating an abstract version of [x=0]: [x=0]' : P(N) x P(N) x P(N) \S. alpha o [x=0] o gamma(S) = [def of [x=0]] \S. alpha ( { | {} C gamma(S) /\ xv=0 } ) = [write S as triple] \. alpha ( { | {} C gamma() /\ xv=0 } ) = [def of gamma] \. alpha ( { | {} C XV x YV x ZV /\ xv=0 } ) = [def of Cartesian product] \. alpha ( { | xv \in XV /\ yv in YV /\ zv in ZV /\ xv=0 } ) = [def of Cartesian product] \. alpha ( { . <{ Hence: [x=0]' = \. <{ Similarly we get: [y=0]' = \. [z=0]' = \. ---------------------------------------------------------------------- Calculating an abstract version [x=0] over Parity triples: [x=0]'' : Parity x Parity x Parity \. alpha o [x=0]' o gamma() = [def [x=0]'] \. alpha o (\. <{ ) (gamma()) = [def gamma] \. alpha (<{ ) = [def alpha] \. () =/C. [Galois surjection/connection] \. () = [factor [=0] operation] \. () = [def [=0]' from handin] \. (<[=0]'(XV), YV, ZV>) Hence we define: [x=0]'' = \. <[=0]'(XV), YV, ZV> and similarly [y=0]'' = \. [z=0]'' = \. where : P(N_0) -> P(N_0) [=0] = \S. { Parity [=0]' = (from handin) ********************************************************************** ** The [x<>0] operator (and friends) ** ********************************************************************** Calculating an abstract version of [x<>0]: [x<>0]' : P(N) x P(N) x P(N) \S. alpha o [x<>0] o gamma(S) = [def of [x<>0]] \S. alpha ( { | {} C gamma(S) /\ xv<>0 } ) = [write S as triple] \. alpha ( { | {} C gamma() /\ xv<>0 } ) = [def of gamma] \. alpha ( { | {} C XV x YV x ZV /\ xv<>0 } ) = [def of Cartesian product] \. alpha ( { | xv \in XV /\ yv in YV /\ zv in ZV /\ xv<>0 } ) = [def of Cartesian product] \. alpha ( { 0 } x YV x ZV ) = [def of alpha] \. <{ 0 }, YV, ZV> Hence: [x<>0]' = \. <{ 0 }, YV, ZV> Similarly we get: [y<>0]' = \. 0 }, ZV> [z<>0]' = \. 0 }> ---------------------------------------------------------------------- Calculating an abstract version [x<>0]'' over Parity triples: [x<>0]'' : Parity x Parity x Parity \. alpha o [x<>0]' o gamma() = [def [x<>0]'] \. alpha o (\. <{ 0 }, YV, ZV>) (gamma()) = [def gamma] \. alpha (<{ 0}, gamma(YV), gamma(ZV)>) = [def alpha] \. (0}), alpha(gamma(YV)), alpha(gamma(ZV))>) =/C. [Galois surjection/connection] \. (0}), YV, ZV>) = [factor [<>0] operation] \. (0] o gamma(XV), YV, ZV>) = [def [<>0]'] \. (<[<>0]'(XV), YV, ZV>) Hence we define: [x<>0]'' = \. <[<>0]'(XV), YV, ZV> and similarly [y<>0]'' = \. 0]'(YV), ZV> [z<>0]'' = \. 0]'(ZV)> where : P(N) -> P(N) [<>0] = \S. { 0 } : Parity -> Parity [<>0]' = (from handin) ********************************************************************** ** The [x--] operator (and friends) ** ********************************************************************** Calculating an abstract version of [x--]: [x--]' : P(N) x P(N) x P(N) \S. alpha o [x--] o gamma(S) = [def of [x--]] \S. alpha ( { | {} C gamma(S) /\ xv>0 } ) = [write S as triple] \. alpha ( { | {} C gamma() /\ xv>0 } ) = [def of gamma] \. alpha ( { | {} C XV x YV x ZV /\ xv>0 } ) = [def of Cartesian product] \. alpha ( { | xv \in XV /\ yv in YV /\ zv in ZV /\ xv>0 } ) = [def of Cartesian product] \. alpha ( { 0 } x YV x ZV ) = [def of alpha] \. <{ 0 }, YV, ZV> Hence: [x--]' = \. <{ 0 }, YV, ZV> Similarly we get: [y--]' = \. 0 }, ZV> [z--]' = \. 0 }> ---------------------------------------------------------------------- Calculating an abstract version [x--]'' over Parity triples: [x--]'' : Parity x Parity x Parity \. alpha o [x--]' o gamma() = [def [x--]'] \. alpha o (\. <{ 0 }, YV, ZV>) (gamma()) = [def gamma] \. alpha (<{ 0}, gamma(YV),gamma(ZV)>) = [def alpha] \. (0}), alpha(gamma(YV)), alpha(gamma(ZV))>) =/C. [Galois surjection/connection] \. (0}), YV, ZV>) = [factor [-1] operation] \. () = [def [-1]'] \. (<[-1]'(XV), YV, ZV>) Hence we define: [x--]'' = \. <[-1]'(XV), YV, ZV> and similarly [y--]'' = \. [z--]'' = \. where : P(N) -> P(N) [-1] = \S. { 0 } : Parity -> Parity [-1]' = (from handin)