define pyk of lemma splitNumericalProduct(+-) 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 p unicode small r unicode small o unicode small d unicode small u unicode small c unicode small t unicode left parenthesis unicode plus sign unicode hyphen unicode right parenthesis unicode end of text end unicode text end text end define
define tex of lemma splitNumericalProduct(+-) as text unicode start of text unicode capital 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 p unicode small r unicode small o unicode small d unicode small u unicode small c unicode small t unicode left parenthesis unicode plus sign unicode hyphen unicode right parenthesis unicode end of text end unicode text end text end define
define statement of lemma splitNumericalProduct(+-) 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 metavar var y end metavar <= 0 infer | metavar var x end metavar * metavar var y end metavar | = | metavar var x end metavar | * | metavar var y end metavar | end define
define proof of lemma splitNumericalProduct(+-) 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 metavar var y end metavar <= 0 infer lemma signNumerical conclude | metavar var x end metavar * metavar var y end metavar | = | - metavar var x end metavar * metavar var y end metavar | cut lemma eqSymmetry modus ponens | metavar var x 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 | = | metavar var x end metavar * metavar var y end metavar | cut lemma plusTimesMinus conclude metavar var x end metavar * - metavar var y end metavar = - metavar var x end metavar * metavar var y end metavar cut lemma sameNumerical modus ponens metavar var x 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 | = | - metavar var x end metavar * metavar var y end metavar | cut lemma eqTransitivity modus ponens | 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 | = | metavar var x end metavar * metavar var y end metavar | conclude | metavar var x end metavar * - metavar var y end metavar | = | metavar var x end metavar * metavar var y end metavar | cut lemma signNumerical conclude | metavar var y end metavar | = | - metavar var y end metavar | cut lemma eqSymmetry modus ponens | metavar var y end metavar | = | - metavar var y end metavar | conclude | - metavar var y end metavar | = | metavar var y end metavar | cut lemma eqMultiplicationLeft modus ponens | - metavar var y end metavar | = | metavar var y end metavar | conclude | metavar var x end metavar | * | - metavar var y end metavar | = | metavar var x end metavar | * | metavar var y end metavar | cut lemma nonpositiveNegated modus ponens metavar var y end metavar <= 0 conclude 0 <= - metavar var y end metavar cut lemma splitNumericalProduct(++) modus ponens 0 <= metavar var x end metavar modus ponens 0 <= - metavar var y end metavar conclude | metavar var x end metavar * - metavar var y end metavar | = | metavar var x end metavar | * | - metavar var y end metavar | cut lemma eqTransitivity modus ponens | 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 | = | metavar var x end metavar | * | metavar var y end metavar | conclude | metavar var x end metavar * - metavar var y end metavar | = | metavar var x end metavar | * | metavar var y end metavar | cut lemma equality modus ponens | 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 | = | metavar var x end metavar | * | metavar var y end metavar | conclude | metavar var x end metavar * metavar var y end metavar | = | metavar var x 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,