define pyk of lemma splitNumericalSum(++) as text unicode start of text unicode small l unicode small e unicode small m unicode small m unicode small a unicode space unicode small s unicode small p unicode small l unicode small i unicode small t unicode capital n unicode small u unicode small m unicode small e unicode small r unicode small i unicode small c unicode small a unicode small l unicode capital s unicode small u unicode small m unicode left parenthesis unicode plus sign unicode plus sign unicode right parenthesis unicode end of text end unicode text end text end define
define tex of lemma splitNumericalSum(++) as text unicode start of text unicode small s unicode small p unicode small l unicode small i unicode small t unicode capital n unicode small u unicode small m unicode small e unicode small r unicode small i unicode small c unicode small a unicode small l unicode capital s unicode small u unicode small m unicode left parenthesis unicode plus sign unicode plus sign unicode right parenthesis unicode end of text end unicode text end text end define
define statement of lemma splitNumericalSum(++) as system Q infer all metavar var x end metavar indeed all metavar var y end metavar indeed 0 <= metavar var x end metavar infer 0 <= metavar var y end metavar infer if( 0 <= metavar var x end metavar + metavar var y end metavar , metavar var x end metavar + metavar var y end metavar , - metavar var x end metavar + metavar var y end metavar ) <= if( 0 <= metavar var x end metavar , metavar var x end metavar , - metavar var x end metavar ) + if( 0 <= metavar var y end metavar , metavar var y end metavar , - metavar var y end metavar ) end define
define proof of lemma splitNumericalSum(++) as lambda var c dot lambda var x dot proof expand quote system Q infer all metavar var x end metavar indeed all metavar var y end metavar indeed 0 <= metavar var x end metavar infer 0 <= metavar var y end metavar infer lemma addEquations(Leq) modus ponens 0 <= metavar var x end metavar modus ponens 0 <= metavar var y end metavar conclude 0 + 0 <= metavar var x end metavar + metavar var y end metavar cut axiom plus0 conclude 0 + 0 = 0 cut lemma subLeqLeft modus ponens 0 + 0 = 0 modus ponens 0 + 0 <= metavar var x end metavar + metavar var y end metavar conclude 0 <= metavar var x end metavar + metavar var y end metavar cut lemma nonnegativeNumerical modus ponens 0 <= metavar var x end metavar + metavar var y end metavar conclude if( 0 <= metavar var x end metavar + metavar var y end metavar , metavar var x end metavar + metavar var y end metavar , - metavar var x end metavar + metavar var y end metavar ) = metavar var x end metavar + metavar var y end metavar cut lemma nonnegativeNumerical modus ponens 0 <= metavar var x end metavar conclude if( 0 <= metavar var x end metavar , metavar var x end metavar , - metavar var x end metavar ) = metavar var x end metavar cut lemma nonnegativeNumerical modus ponens 0 <= metavar var y end metavar conclude if( 0 <= metavar var y end metavar , metavar var y end metavar , - metavar var y end metavar ) = metavar var y end metavar cut lemma addEquations modus ponens if( 0 <= metavar var x end metavar , metavar var x end metavar , - metavar var x end metavar ) = metavar var x end metavar modus ponens if( 0 <= metavar var y end metavar , metavar var y end metavar , - metavar var y end metavar ) = metavar var y end metavar conclude if( 0 <= metavar var x end metavar , metavar var x end metavar , - metavar var x end metavar ) + if( 0 <= metavar var y end metavar , metavar var y end metavar , - metavar var y end metavar ) = metavar var x end metavar + metavar var y end metavar cut lemma eqSymmetry modus ponens if( 0 <= metavar var x end metavar , metavar var x end metavar , - metavar var x end metavar ) + if( 0 <= metavar var y end metavar , metavar var y end metavar , - metavar var y end metavar ) = metavar var x end metavar + metavar var y end metavar conclude metavar var x end metavar + metavar var y end metavar = if( 0 <= metavar var x end metavar , metavar var x end metavar , - metavar var x end metavar ) + if( 0 <= metavar var y end metavar , metavar var y end metavar , - metavar var y end metavar ) cut lemma eqTransitivity modus ponens if( 0 <= metavar var x end metavar + metavar var y end metavar , metavar var x end metavar + metavar var y end metavar , - metavar var x end metavar + metavar var y end metavar ) = metavar var x end metavar + metavar var y end metavar modus ponens metavar var x end metavar + metavar var y end metavar = if( 0 <= metavar var x end metavar , metavar var x end metavar , - metavar var x end metavar ) + if( 0 <= metavar var y end metavar , metavar var y end metavar , - metavar var y end metavar ) conclude if( 0 <= metavar var x end metavar + metavar var y end metavar , metavar var x end metavar + metavar var y end metavar , - metavar var x end metavar + metavar var y end metavar ) = if( 0 <= metavar var x end metavar , metavar var x end metavar , - metavar var x end metavar ) + if( 0 <= metavar var y end metavar , metavar var y end metavar , - metavar var y end metavar ) cut lemma eqLeq modus ponens if( 0 <= metavar var x end metavar + metavar var y end metavar , metavar var x end metavar + metavar var y end metavar , - metavar var x end metavar + metavar var y end metavar ) = if( 0 <= metavar var x end metavar , metavar var x end metavar , - metavar var x end metavar ) + if( 0 <= metavar var y end metavar , metavar var y end metavar , - metavar var y end metavar ) conclude if( 0 <= metavar var x end metavar + metavar var y end metavar , metavar var x end metavar + metavar var y end metavar , - metavar var x end metavar + metavar var y end metavar ) <= if( 0 <= metavar var x end metavar , metavar var x end metavar , - metavar var x end metavar ) + if( 0 <= metavar var y end metavar , metavar var y end metavar , - metavar var y end metavar ) end quote state proof state cache var c end expand end define
The pyk compiler, version 0.grue.20060417+ by Klaus Grue,