frac 0 0
boolLib.EXISTS_TAC ( Parse.Term [ HolKernel.QUOTE " (*#loc 35 30*)(1i,1i)" ] )
1
4508202 488848737943 574967048041 19715171511179 30093204963816 31843273619579 53440330579014 80256832701175 118012025074261 271941865957237 281051266215115 288661503866530 311177408954767 457644544611742 468720065734531 520875301007392 595668015596659 603491125126529 770961849190725 778417488521154
frac 0 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 488848737943 19715171511179 24856945732414 30093204963816 31843273619579 77489389076289 80256832701175 89500895960115 118012025074261 129916455720081 155412585748122 264214093175962 271941865957237 281051266215115 288661503866530 311177408954767 335344845384093 386052678541060 468720065734531 474709775802895 520875301007392 595668015596659 603491125126529 672462142824294 731196773930492 772093664419589 778417488521154
frac 0 2
bossLib.SIMP_TAC ( boolSimps.bool_ss sml_infixl0_open bossLib.++ sml_infixl0_close numSimps.old_ARITH_ss sml_infixl0_open bossLib.++ sml_infixl0_close pairSimps.PAIR_ss ) [ ( DB.fetch "integer" "INT_ADD_RID" ) , ( DB.fetch "integer" "INT_MUL_LID" ) , ( DB.fetch "integer" "INT_LE_REFL" ) , ( DB.fetch "integer" "INT_ABS_NUM" ) ]
3
19715171511179 24856945732414 31843273619579 77489389076289 80256832701175 89500895960115 118012025074261 129916455720081 155412585748122 179567598306066 264214093175962 271941865957237 281051266215115 288661503866530 335344845384093 339414188330137 386052678541060 468720065734531 474709775802895 595668015596659 672462142824294 772093664419589 778417488521154
frac 0 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

19715171511179 24856945732414 31843273619579 80256832701175 118012025074261 129916455720081 132874657404989 155412585748122 264214093175962 288661503866530 468720065734531 474709775802895 595668015596659 672462142824294 772093664419589 778417488521154
frac 1 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
4508202 488848737943 21238422084364 50007584834127 89500895960115 253645064105403 253837285941516 261130363072944 312872164504665 315432402477959 335344845384093 436746517987253 482202506546959 491132347463379 508935339825298 620178966163059 650705801382461 701865353869699 706179577421880 718247828197752 735059394784798
frac 1 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 488848737943 21238422084364 50007584834127 89500895960115 253645064105403 253837285941516 312872164504665 315432402477959 335344845384093 436746517987253 482202506546959 508935339825298 620178966163059 650705801382461 701865353869699 706179577421880 718247828197752 735059394784798
frac 1 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508202 488848737943 86462803919030 99429243539347 179435597371680 312872164504665 315432402477959 374119456851748 436746517987253 583288529535300 701865353869699 706179577421880 725124149884251
frac 2 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 19715171511179 31843273619579 80256832701175 89500895960115 101493408634270 118012025074261 122288845319881 122293629670442 123547129517424 123551913867985 179857892939409 212867009702820 222360405764254 288334449561212 288661503866530 290844332178529 293294570028156 312872164504665 330012922480994 335344845384093 387060757195317 436746517987253 468720065734531 491132347463379 508539208126044 514761207392538 595668015596659 684439512836680 701865353869699 704177836849664 706179577421880 778417488521154
frac 2 1
boolLib.EQ_TAC
2 3
4508187 4508202 19715171511164 31843273619564 31843273619579 80256832701160 89500895960115 101493408634270 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 179857892939409 212867009702820 222360405764254 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 387060757195302 387060757195317 436746517987253 468720065734516 508539208126029 514761207392538 595668015596644 684439512836680 701865353869699 704177836849664 706179577421880 778417488521139
frac 2 2
BasicProvers.SRW_TAC [ ] [ ]
4
4508187 4508202 19715171511164 31843273619564 31843273619579 80256832701160 89500895960115 101493408634270 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 179857892939409 212867009702820 222360405764254 288334449561212 288661503866515 290844332178529 312872164504665 330012922480994 335344845384093 387060757195302 387060757195317 436746517987253 468720065734516 508539208126029 514761207392538 595668015596644 684439512836680 701865353869699 704177836849664 706179577421880 778417488521139
frac 2 3
boolLib.DISCH_TAC

4508187 4508202 19715171511164 31843273619564 31843273619579 80256832701160 89500895960115 101493408634270 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 179857892939409 212867009702820 222360405764254 288334449561212 288661503866515 290844332178529 312872164504665 330012922480994 335344845384093 387060757195302 387060757195317 436746517987253 468720065734516 508539208126029 514761207392538 595668015596644 684439512836680 701865353869699 704177836849664 706179577421880 778417488521139
frac 2 4
boolLib.ASM_REWRITE_TAC [ ]

4508187 4508202 19715171511164 31843273619564 80256832701160 89500895960115 101493408634255 118012025074246 122288845319866 122288845319881 122293629670427 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 179857892939394 212867009702820 222360405764254 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 387060757195302 387060757195317 436746517987253 468720065734516 508539208126029 514761207392538 595668015596644 684439512836665 701865353869684 701865353869699 704177836849649 706179577421880 778417488521139
frac 2 5
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 19715171511164 31843273619564 31843273619579 80256832701160 89500895960115 101493408634270 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 179857892939409 180187745491911 205401922279240 233924129684364 288661503866515 290844332178529 330012922480994 335344845384093 387060757195302 387060757195317 468720065734516 508539208126029 514761207392538 595668015596644 684439512836680 701865353869699 704177836849664 778417488521139
frac 2 6
bossLib.ASM_SIMP_TAC bossLib.std_ss [ ]

4508187 4508202 488848737943 19715171511164 19715171511179 30093204963816 31843273619564 31843273619579 80256832701160 80256832701175 89500895960115 118012025074246 118012025074261 119612688916065 122293629670442 123547129517409 123551913867970 123551913867985 271941865957237 281051266215115 288661503866515 288661503866530 290844332178529 311177408954767 335344845384093 387060757195302 387060757195317 468720065734516 468720065734531 508539208126029 514761207392538 520875301007392 595668015596644 595668015596659 603491125126529 778417488521139 778417488521154
frac 2 7
bossLib.ASM_SIMP_TAC bossLib.std_ss [ ]

4508187 4508202 488848737943 19715171511164 19715171511179 30093204963816 31843273619564 31843273619579 80256832701160 80256832701175 89500895960115 118012025074246 118012025074261 119612688916065 122288845319881 123547129517409 123547129517424 123551913867970 271941865957237 281051266215115 288661503866515 288661503866530 290844332178529 311177408954767 335344845384093 387060757195302 387060757195317 468720065734516 468720065734531 508539208126029 514761207392538 520875301007392 595668015596644 595668015596659 603491125126529 778417488521139 778417488521154
frac 3 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 31843273619579 50007584834127 101493408634270 119336918520647 128580266307596 128585050658157 179857892939409 253645064105403 261130363072944 297673910116805 315432402477959 482202506546959 491132347463379 620178966163059 638262628765653 650705801382461 684439512836680 701865353869699 704177836849664 706179577421880 723825906340390
frac 3 1
boolLib.EQ_TAC
2 3
4508202 31843273619579 50007584834127 101493408634270 119336918520647 128580266307596 128585050658157 179857892939409 253645064105403 297673910116805 315432402477959 482202506546959 620178966163059 638262628765653 650705801382461 684439512836680 701865353869699 704177836849664 706179577421880 723825906340390
frac 3 2
boolLib.REPEAT boolLib.STRIP_TAC

4508202 31843273619579 50007584834127 101493408634270 119336918520647 128580266307596 128585050658157 179857892939409 253645064105403 297673910116805 315432402477959 330012922480994 482202506546959 620178966163059 638262628765653 650705801382461 684439512836680 701865353869699 704177836849664 706179577421880 723825906340390
frac 3 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
5
4508202 31843273619579 50007584834127 101493408634270 119336918520647 128580266307596 128585050658157 179857892939409 253645064105403 297673910116805 315432402477959 330012922480994 482202506546959 620178966163059 638262628765653 650705801382461 684439512836680 701865353869699 704177836849664 706179577421880 723825906340390
frac 3 4
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 21238422084364 31843273619564 50007584834112 50007584834127 89500895960115 119336918520632 128580266307581 128580266307596 128585050658142 128585050658157 166540731523126 253645064105388 253645064105403 253837285941516 297673910116790 312872164504665 315432402477944 315432402477959 335344845384093 436746517987253 482202506546944 482202506546959 620178966163044 620178966163059 638262628765638 650705801382446 650705801382461 701865353869684 701865353869699 706179577421880 718247828197752 723825906340375 735059394784798
frac 3 5
mesonLib.ASM_MESON_TAC [ ]

4508187 4508202 31843273619579 50007584834127 101493408634270 119336918520647 128580266307581 128580266307596 128585050658142 128585050658157 179857892939394 253645064105403 297673910116805 315432402477944 315432402477959 482202506546959 620178966163059 638262628765653 650705801382461 684439512836680 701865353869684 701865353869699 704177836849649 706179577421865 723825906340390
frac 4 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 19521708359799 19715171511179 31843273619579 80256832701175 89500895960115 118012025074261 122288845319881 122293629670442 123547129517424 123551913867985 179857892939409 212867009702820 222360405764254 288334449561212 288661503866530 290844332178529 293294570028156 312872164504665 330012922480994 335344845384093 387060757195317 415098329689538 436746517987253 466580814163002 468720065734531 491132347463379 508539208126044 514761207392538 595668015596659 684439512836680 701865353869699 704177836849664 706179577421880 778417488521154
frac 4 1
bossLib.PROVE_TAC [ ( DB.fetch "frac" "FRAC_EQ" ) ]

4508187 4508202 19521708359799 19715171511164 31843273619564 31843273619579 80256832701160 89500895960115 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 179857892939409 212867009702820 222360405764254 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 387060757195302 387060757195317 415098329689538 436746517987253 466580814163002 468720065734516 508539208126029 514761207392538 595668015596644 684439512836680 701865353869699 704177836849664 706179577421880 778417488521139
frac 5 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
4508202 19521708359799 19715171511179 31843273619579 80256832701175 89500895960115 118012025074261 122288845319881 122293629670442 123547129517424 123551913867985 180187745491911 205401922279240 212867009702820 222360405764254 233924129684364 288334449561212 288661503866530 290844332178529 293294570028156 312872164504665 330012922480994 335344845384093 387060757195317 436746517987253 466580814163002 468720065734531 491132347463379 508539208126044 514761207392538 595668015596659 684439512836680 701865353869699 706179577421880 778417488521154
frac 5 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 19521708359799 19715171511179 31843273619579 80256832701175 89500895960115 118012025074261 122288845319881 122293629670442 123547129517424 123551913867985 180187745491911 205401922279240 212867009702820 222360405764254 233924129684364 288334449561212 288661503866530 290844332178529 312872164504665 330012922480994 335344845384093 387060757195317 436746517987253 466580814163002 468720065734531 508539208126044 514761207392538 595668015596659 684439512836680 701865353869699 706179577421880 778417488521154
frac 5 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
3
4508187 4508202 19521708359799 19715171511164 19715171511179 31843273619564 31843273619579 80256832701160 80256832701175 89500895960115 118012025074246 118012025074261 122288845319881 122293629670442 123547129517409 123547129517424 123551913867985 180187745491911 205401922279240 212867009702820 222360405764254 233924129684364 288334449561212 288661503866515 288661503866530 290844332178529 312872164504665 330012922480994 335344845384093 387060757195302 387060757195317 436746517987253 466580814163002 468720065734516 468720065734531 508539208126029 508539208126044 514761207392538 595668015596644 595668015596659 684439512836680 701865353869699 706179577421880 778417488521139 778417488521154
frac 5 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 19521708359799 19715171511164 31843273619564 80256832701160 89500895960115 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 180187745491911 205401922279240 212867009702820 222360405764254 233924129684364 288334449561212 288661503866515 290844332178529 312872164504665 330012922480994 335344845384093 387060757195302 387060757195317 436746517987253 466580814163002 468720065734516 508539208126029 514761207392538 595668015596644 684439512836680 701865353869699 706179577421880 778417488521139
frac 6 0
bossLib.SIMP_TAC boolSimps.bool_ss tactictoe_thmlarg
1
4508202 488848737943 19715171511179 31843273619579 80256832701175 118012025074261 253645064105403 261130363072944 288661503866530 315432402477959 468720065734531 482202506546959 491132347463379 595668015596659 650705801382461 727662364694981 778417488521154
frac 6 1
bossLib.RW_TAC intLib.int_ss [ boolLib.REWRITE_RULE [ HolKernel.CONJUNCT1 ( DB.fetch "frac" "frac_bij" ) ] ( HolKernel.SPEC ( Parse.Term [ HolKernel.QUOTE " (*#loc 175 66*)rep_frac(f)" ] ) ( boolLib.BETA_RULE ( boolLib.ONCE_REWRITE_RULE [ boolLib.EQ_SYM_EQ ] ( HolKernel.CONJUNCT2 ( DB.fetch "frac" "frac_bij" ) ) ) ) ) ]

4508202 488848737943 19715171511179 31843273619579 80256832701175 86462803919030 118012025074261 261130363072944 271941865957237 281051266215115 285484766946841 288661503866530 315432402477959 341480265205475 468720065734531 491132347463379 583288529535300 595668015596659 725124149884251 778417488521154
frac 7 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
4508202 464926985138 469711335699 19715171511179 31843273619579 80256832701175 89500895960115 113108760613051 118012025074261 142131905239060 288334449561212 288661503866530 290844332178529 293294570028156 312872164504665 330012922480994 335344845384093 387060757195317 436746517987253 468720065734531 471215333074029 482202506546959 491132347463379 508539208126044 514761207392538 595668015596659 620178966163059 684439512836680 701865353869699 778417488521154
frac 7 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508187 4508202 464926985138 469711335684 469711335699 19715171511164 31843273619564 31843273619579 80256832701160 89500895960115 113108760613051 118012025074246 142131905239060 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 387060757195302 387060757195317 436746517987253 468720065734516 471215333074029 482202506546959 508539208126029 514761207392538 595668015596644 620178966163059 701865353869699 778417488521139
frac 7 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 464926985138 469711335684 469711335699 12415980181568 19715171511164 31843273619564 31843273619579 59821993194253 80256832701160 89500895960115 118012025074246 207890876784917 281051266215115 283851059292655 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 387060757195302 387060757195317 436746517987253 468720065734516 508539208126029 514761207392538 583288529535300 595668015596644 701865353869699 725124149884251 774923224494794 778417488521139
frac 8 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
4508202 464926985138 469711335699 19715171511179 31843273619579 80256832701175 89500895960115 118012025074261 134389576444275 288334449561212 288661503866530 290844332178529 293294570028156 312872164504665 328892116075182 330012922480994 335344845384093 339910632685061 387060757195317 436746517987253 468720065734531 482202506546959 491132347463379 508539208126044 514761207392538 595668015596659 650705801382461 684439512836680 701865353869699 778417488521154
frac 8 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508187 4508202 464926985138 469711335684 469711335699 19715171511164 31843273619564 31843273619579 80256832701160 89500895960115 118012025074246 134389576444275 288334449561212 288661503866515 290844332178529 312872164504665 328892116075182 335344845384093 339910632685061 387060757195302 387060757195317 436746517987253 468720065734516 482202506546959 508539208126029 514761207392538 595668015596644 650705801382461 701865353869699 778417488521139
frac 8 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 464926985138 469711335684 469711335699 19715171511164 31843273619564 31843273619579 80256832701160 89500895960115 118012025074246 207890876784917 241297642170957 271941865957237 281051266215115 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 387060757195302 387060757195317 423231249449793 436746517987253 468720065734516 508539208126029 514761207392538 583288529535300 595668015596644 658421760932254 701865353869699 725124149884251 778417488521139
frac 9 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
4508202 19715171511179 24126505224799 31843273619579 35241513734761 45015911666964 80256832701175 89500895960115 118012025074261 122288845319881 123547129517424 151667144258381 167669532884223 182786161572575 288334449561212 288661503866530 290844332178529 293294570028156 312872164504665 330012922480994 335344845384093 359725958896502 379084366667637 387060757195317 436746517987253 468720065734531 491132347463379 508539208126044 514761207392538 595668015596659 624287298179518 684439512836680 701865353869699 706179577421880 712112185584192 758702156437644 778417488521154
frac 9 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508187 4508202 19715171511164 24126505224799 31843273619564 35241513734761 45015911666964 80256832701160 89500895960115 118012025074246 122288845319881 123547129517409 123547129517424 151667144258381 167669532884223 182786161572575 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 359725958896502 379084366667637 387060757195302 387060757195317 436746517987253 468720065734516 508539208126029 514761207392538 595668015596644 624287298179518 701865353869699 706179577421880 712112185584192 758702156437644 778417488521139
frac 9 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
3
4508187 4508202 19715171511164 24126505224799 31843273619564 35241513734761 80256832701160 89500895960115 118012025074246 122288845319881 123547129517409 123547129517424 124304797830388 134389576444275 182786161572575 258789403126941 261389505266644 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 387060757195302 387060757195317 436746517987253 453592898632137 468720065734516 471215333074029 482202506546959 508539208126029 514761207392538 533410879633163 595668015596644 620178966163059 624287298179518 650705801382461 664743595768431 701865353869699 706179577421880 712112185584192 758702156437644 778417488521139
frac 9 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 19715171511164 24126505224799 31843273619564 35241513734761 80256832701160 89500895960115 118012025074246 122288845319881 123547129517409 123547129517424 141444507764367 182786161572575 288661503866515 312872164504665 335344845384093 387060757195302 387060757195317 436746517987253 468720065734516 508539208126029 595668015596644 624287298179518 701865353869699 706179577421880 712112185584192 758702156437644 778417488521139 785921798202739
frac 10 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 18585852473299 19521708359799 19715171511179 30530093675625 31843273619579 56046981877594 80256832701175 89500895960115 94539485296969 118012025074261 122288845319881 123547129517424 162333508630921 165845834666695 167669532884223 208715714333547 233348232756684 288334449561212 288661503866530 290844332178529 293294570028156 312872164504665 330012922480994 335344845384093 346320628880774 384369207018219 387060757195317 407815224673109 436746517987253 466580814163002 468720065734531 491132347463379 508539208126044 514761207392538 592237363018266 595668015596659 624287298179518 684439512836680 701865353869699 704177836849664 706179577421880 723218851338201 758644385058785 773074865853592 778417488521154 791394107587914
frac 10 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_minv_def" ) , ( DB.fetch "frac" "frac_sgn_def" ) ]
2
4508187 4508202 18585852473299 19521708359784 19715171511164 30530093675625 31843273619564 56046981877594 80256832701160 89500895960115 94539485296969 118012025074246 122288845319866 122288845319881 123547129517409 123547129517424 162333508630921 165845834666695 167669532884223 208715714333547 233348232756684 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 346320628880774 384369207018219 387060757195302 387060757195317 407815224673109 436746517987253 466580814162987 468720065734516 508539208126029 514761207392538 592237363018266 595668015596644 624287298179518 701865353869684 701865353869699 704177836849649 706179577421880 723218851338186 758644385058785 773074865853592 778417488521139 791394107587914
frac 10 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
3
4508187 4508202 18585852473299 19521708359784 19715171511164 30530093675625 31843273619564 56046981877594 70945652183300 80256832701160 89500895960115 118012025074246 122288845319866 122288845319881 123547129517409 123547129517424 134389576444275 136590495131545 208715714333547 233348232756684 275232848734582 288334449561212 288661503866515 290844332178529 312872164504665 326482313107097 335344845384093 335434595000022 346320628880774 384369207018219 387060757195302 387060757195317 407815224673109 436746517987253 466580814162987 468720065734516 471215333074029 482202506546959 508539208126029 514761207392538 529078582617465 595668015596644 620178966163059 624287298179518 650705801382461 697956507988702 701865353869684 701865353869699 704177836849649 706179577421880 723218851338186 752173974744205 758644385058785 773074865853592 778417488521139 787313239009840 791394107587914
frac 10 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 18585852473299 19521708359784 19715171511164 30530093675625 31843273619564 56046981877594 80256832701160 89500895960115 118012025074246 122288845319866 122288845319881 123547129517409 123547129517424 148199198461007 208715714333547 233348232756684 288661503866515 312872164504665 335344845384093 346320628880774 384369207018219 387060757195302 387060757195317 407815224673109 436746517987253 466580814162987 468720065734516 508539208126029 595668015596644 598867548875997 624287298179518 701865353869684 701865353869699 704177836849649 706179577421880 723218851338186 758644385058785 773074865853592 778417488521139 791394107587914
frac 11 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
4508202 19715171511179 31843273619579 80256832701175 89500895960115 99681197343208 118012025074261 122288845319881 123547129517424 208715714333547 260094003850895 288334449561212 288661503866530 290844332178529 293294570028156 298165515201666 312872164504665 330012922480994 335344845384093 339946864507632 387060757195317 436746517987253 468720065734531 482202506546959 491132347463379 508539208126044 514761207392538 595668015596659 624287298179518 684439512836680 701865353869699 773074865853592 778417488521154
frac 11 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508187 4508202 19715171511164 31843273619564 31843273619579 80256832701160 89500895960115 99681197343208 118012025074246 122288845319881 123547129517409 123547129517424 208715714333547 260094003850895 288334449561212 288661503866515 290844332178529 298165515201666 312872164504665 335344845384093 339946864507632 387060757195302 387060757195317 436746517987253 468720065734516 482202506546959 508539208126029 514761207392538 595668015596644 624287298179518 701865353869699 773074865853592 778417488521139
frac 11 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
3
4508187 4508202 19715171511164 31843273619564 31843273619579 80256832701160 89500895960115 118012025074246 122288845319881 123547129517409 123547129517424 208715714333547 275232848734582 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 387060757195302 387060757195317 436746517987253 468720065734516 471215333074029 482202506546959 508539208126029 514761207392538 595668015596644 620178966163059 624287298179518 633966548676574 701865353869699 704702357073365 773074865853592 778417488521139
frac 11 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 19715171511164 31843273619564 31843273619579 80256832701160 118012025074246 122288845319881 123547129517409 208715714333547 288661503866515 331638269652607 387060757195302 387060757195317 442941154735022 468720065734516 508539208126029 595668015596644 624287298179518 701865353869699 773074865853592 778417488521139
frac 12 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
4508202 19715171511179 30530093675625 31843273619579 80256832701175 89500895960115 113019100179292 118012025074261 122288845319881 122293629670442 123547129517424 123551913867985 140610388301844 222769067440727 288334449561212 288661503866530 290844332178529 293294570028156 312872164504665 330012922480994 335344845384093 344205708257225 352782799328846 387060757195317 391762493568131 407815224673109 434207245257128 436746517987253 445540388757636 451185938395708 468720065734531 485968468486154 491132347463379 508539208126044 512772299594512 514761207392538 595668015596659 630453859570293 684439512836680 692994796936532 701865353869699 706179577421880 722440213267166 778417488521154
frac 12 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508187 4508202 19715171511164 30530093675625 31843273619564 80256832701160 89500895960115 113019100179292 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 140610388301844 222769067440727 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 344205708257225 352782799328846 387060757195302 387060757195317 391762493568131 407815224673109 434207245257128 436746517987253 445540388757636 451185938395708 468720065734516 485968468486154 508539208126029 512772299594512 514761207392538 595668015596644 630453859570293 692994796936532 701865353869699 706179577421880 722440213267166 778417488521139
frac 12 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
3
4508187 4508202 19715171511164 30530093675625 31843273619564 37084299446154 80256832701160 89500895960115 113019100179292 118012025074246 120136584323866 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 134389576444275 157812934913796 222769067440727 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 339292429796874 344205708257225 387060757195302 387060757195317 407815224673109 428432110092057 434207245257128 436746517987253 445540388757636 451185938395708 468720065734516 471215333074029 480771624078778 482202506546959 485968468486154 508539208126029 514761207392538 545123918804206 558729034672560 595668015596644 596078532146658 618536393498294 620178966163059 630453859570293 650705801382461 701865353869699 706179577421880 763659279474651 778417488521139
frac 12 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 19715171511164 30530093675625 31843273619564 80256832701160 89500895960115 113019100179292 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 222769067440727 288661503866515 312872164504665 335344845384093 344205708257225 355511063540083 387060757195302 387060757195317 407815224673109 434207245257128 436746517987253 445540388757636 451185938395708 468720065734516 470230756896175 485968468486154 508539208126029 595668015596644 630453859570293 701865353869699 706179577421880 778417488521139
frac 13 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 19715171511179 30530093675625 31843273619579 80256832701175 89500895960115 118012025074261 122288845319881 122293629670442 123547129517424 123551913867985 128675449932099 140610388301844 288334449561212 288661503866530 290844332178529 293294570028156 300380737576243 302277408491667 312872164504665 330012922480994 335344845384093 344205708257225 373985867597822 387060757195317 407815224673109 428725928468617 436746517987253 467828619589573 468720065734531 491132347463379 508539208126044 514065011308286 514761207392538 595668015596659 609717808552442 630453859570293 684439512836680 701865353869699 706179577421880 748843540338099 749597723068445 777299798500621 778417488521154
frac 13 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_sub_def" ) , ( DB.fetch "frac" "frac_add_def" ) , ( DB.fetch "frac" "frac_ainv_def" ) ]
2
4508187 4508202 19715171511164 30530093675625 31843273619564 80256832701160 89500895960115 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 128675449932099 140610388301844 288334449561212 288661503866515 290844332178529 300380737576243 302277408491667 312872164504665 335344845384093 344205708257225 373985867597822 387060757195302 387060757195317 407815224673109 428725928468617 436746517987253 467828619589573 468720065734516 508539208126029 514065011308286 514761207392538 595668015596644 609717808552442 630453859570293 701865353869699 706179577421880 748843540338099 749597723068445 777299798500621 778417488521139
frac 13 2
boolLib.SUBST_TAC [ let val FRAC_NMR_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "NMR" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMR_CONV" "" in FRAC_NMR_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 430 33*)frac_nmr (abs_frac (a1,b1))" ] ) , let val FRAC_DNM_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "DNM" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_DNM_CONV" "" in FRAC_DNM_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 430 79*)frac_dnm (abs_frac (a1,b1))" ] ) , let val FRAC_NMR_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "NMR" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMR_CONV" "" in FRAC_NMR_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 431 33*)frac_nmr (abs_frac (a2,b2))" ] ) , let val FRAC_DNM_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "DNM" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_DNM_CONV" "" in FRAC_DNM_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 431 79*)frac_dnm (abs_frac (a2,b2))" ] ) ]
3
4508187 4508202 19715171511164 30530093675625 31843273619564 46703920755598 80256832701160 89500895960115 118012025074246 120672103321092 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 128439625048967 128675449932099 134389576444275 157812934913796 182786161572575 183669976699520 222769067440727 258789403126941 259400602855123 261389505266644 278914716251326 288334449561212 288661503866515 290844332178529 300380737576243 312872164504665 324417705130872 335344845384093 344205708257225 371569089224758 373985867597822 374523529468010 387060757195302 387060757195317 407815224673109 436746517987253 453592898632137 467828619589573 468720065734516 471215333074029 482202506546959 496512969259328 508539208126029 514761207392538 575127024412109 595668015596644 609717808552442 620178966163059 624287298179518 630453859570293 650705801382461 664743595768431 701865353869699 706179577421880 726714976707150 763659279474651 770621604994005 777299798500621 778417488521139
frac 13 3
boolLib.SUBST_TAC [ let val FRAC_NMR_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "NMR" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMR_CONV" "" in FRAC_NMR_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 432 35*)frac_nmr (abs_frac (~a2,b2))" ] ) , let val FRAC_DNM_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "DNM" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_DNM_CONV" "" in FRAC_DNM_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 432 82*)frac_dnm (abs_frac (~a2,b2))" ] ) ]
4
4508187 4508202 19715171511164 24126505224799 30530093675625 31843273619564 35241513734761 59435296757867 80256832701160 89500895960115 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 124689263004618 128675449932099 172938200880747 178530474908238 182786161572575 222769067440727 241503264051546 288661503866515 300380737576243 312872164504665 335344845384093 344205708257225 373985867597822 387060757195302 387060757195317 407815224673109 408308294236169 436746517987253 465375356315302 467828619589573 468720065734516 482202506546959 508539208126029 522620019428672 530758505822031 595668015596644 609717808552442 615189797522494 620178966163059 624287298179518 630453859570293 650705801382461 701865353869699 706179577421880 708438551699835 712112185584192 743252934247859 758702156437644 777299798500621 778417488521139
frac 13 4
bossLib.RW_TAC intLib.int_ss [ integerTheory.INT_SUB_CALCULATE , integerTheory.INT_MUL_CALCULATE ]

4508187 4508202 19715171511164 30530093675625 31843273619564 80256832701160 80400465742485 89500895960115 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 128675449932099 182786161572575 222769067440727 288661503866515 300380737576243 312872164504665 335344845384093 344205708257225 348353585976738 373985867597822 387060757195302 387060757195317 391604316311322 407815224673109 431606819266789 436746517987253 445540388757636 467828619589573 468720065734516 508539208126029 532631922554866 554148551218420 593777573691117 595668015596644 609717808552442 624287298179518 630453859570293 701865353869699 706179577421880 758702156437644 762402451950750 777299798500621 778417488521139
frac 14 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
4508202 19715171511179 30530093675625 31843273619579 80256832701175 89500895960115 118012025074261 122288845319881 122293629670442 123547129517424 123551913867985 140610388301844 178242657942055 241320320263442 288334449561212 288661503866530 290844332178529 293294570028156 299182687608121 312872164504665 330012922480994 335344845384093 344205708257225 373329632735626 387060757195317 407815224673109 429019005474178 436746517987253 468720065734531 491132347463379 508539208126044 514761207392538 595668015596659 630453859570293 645967466071269 684439512836680 686446044250279 701865353869699 706179577421880 714786172447619 778417488521154
frac 14 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508187 4508202 19715171511164 30530093675625 31843273619564 80256832701160 89500895960115 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 140610388301844 178242657942055 241320320263442 288334449561212 288661503866515 290844332178529 299182687608121 312872164504665 335344845384093 344205708257225 373329632735626 387060757195302 387060757195317 407815224673109 429019005474178 436746517987253 468720065734516 508539208126029 514761207392538 595668015596644 630453859570293 645967466071269 686446044250279 701865353869699 706179577421880 714786172447619 778417488521139
frac 14 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
3
4508187 4508202 19715171511164 30530093675625 31843273619564 80256832701160 89500895960115 118012025074246 120136584323866 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 134389576444275 157812934913796 241320320263442 288334449561212 288661503866515 290844332178529 299182687608121 312872164504665 335344845384093 344205708257225 385643106311750 387060757195302 387060757195317 392821982647860 407815224673109 409318321310536 431996291638064 436746517987253 468720065734516 471215333074029 482202506546959 508539208126029 514761207392538 560830583454854 595668015596644 620178966163059 630453859570293 650705801382461 686446044250279 701865353869699 706179577421880 763659279474651 778417488521139 788321723095243
frac 14 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 19715171511164 30530093675625 31843273619564 80256832701160 89500895960115 118012025074246 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 241320320263442 288661503866515 299182687608121 312872164504665 335344845384093 341104300479986 343363015631805 344205708257225 387060757195302 387060757195317 407815224673109 436746517987253 468720065734516 508539208126029 595668015596644 630453859570293 686446044250279 701865353869699 706179577421880 778417488521139
frac 15 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 16187542057262 18585852473299 19521708359799 19715171511179 30530093675625 31843273619579 51000387539985 56742674830565 75740036364629 80256832701175 89500895960115 100604878518050 118012025074261 122288845319881 122293629670442 123547129517424 123551913867985 140610388301844 162422186544762 192043187533213 208715714333547 288334449561212 288661503866530 290844332178529 293294570028156 312872164504665 330012922480994 335344845384093 387060757195317 407815224673109 436746517987253 466580814163002 468720065734531 481538804051201 491132347463379 508539208126044 514761207392538 541158701790458 595668015596659 624287298179518 630453859570293 649137002716274 684439512836680 701865353869699 704177836849664 706179577421880 723218851338201 727039285226205 768992129449337 773074865853592 778417488521154 791394107587914
frac 15 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_div_def" ) , ( DB.fetch "frac" "frac_mul_def" ) , ( DB.fetch "frac" "frac_minv_def" ) , ( DB.fetch "frac" "frac_sgn_def" ) ]
2
4508187 4508202 16187542057262 18585852473299 19521708359784 19715171511164 30530093675625 31843273619564 51000387539985 56742674830565 75740036364629 80256832701160 89500895960115 100604878518050 118012025074246 122288845319881 122293629670427 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 140610388301844 162422186544762 192043187533213 208715714333547 288334449561212 288661503866515 290844332178529 312872164504665 335344845384093 387060757195302 387060757195317 407815224673109 436746517987253 466580814162987 468720065734516 481538804051201 508539208126029 514761207392538 541158701790458 595668015596644 624287298179518 630453859570293 649137002716274 701865353869684 701865353869699 704177836849649 706179577421880 723218851338186 727039285226205 768992129449337 773074865853592 778417488521139 791394107587914
frac 15 2
boolLib.SUBST_TAC [ let val FRAC_NMR_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "NMR" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMR_CONV" "" in FRAC_NMR_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 430 33*)frac_nmr (abs_frac (a1,b1))" ] ) , let val FRAC_DNM_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "DNM" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_DNM_CONV" "" in FRAC_DNM_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 430 79*)frac_dnm (abs_frac (a1,b1))" ] ) , let val FRAC_NMR_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "NMR" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMR_CONV" "" in FRAC_NMR_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 431 33*)frac_nmr (abs_frac (a2,b2))" ] ) , let val FRAC_DNM_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "DNM" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_DNM_CONV" "" in FRAC_DNM_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 431 79*)frac_dnm (abs_frac (a2,b2))" ] ) ]
3
4508187 4508202 16187542057262 18585852473299 19521708359784 19715171511164 30530093675625 31843273619564 51000387539985 56742674830565 75740036364629 80256832701160 89500895960115 118012025074246 122288845319881 122293629670427 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 134389576444275 136590495131545 157812934913796 186789734048889 208715714333547 211032114330479 218973618132001 252794589238398 275232848734582 288334449561212 288661503866515 290844332178529 312872164504665 313242937363530 326482313107097 335344845384093 335434595000022 387060757195302 387060757195317 397014465336079 407815224673109 436746517987253 466580814162987 468720065734516 471215333074029 481538804051201 482202506546959 508539208126029 514761207392538 529078582617465 595668015596644 620178966163059 624287298179518 630453859570293 639597335476245 650705801382461 655238207029104 680086163198279 697956507988702 701865353869684 701865353869699 704177836849649 706179577421880 723218851338186 727039285226205 763659279474651 768992129449337 773074865853592 778417488521139 787313239009840 791394107587914
frac 15 3
boolLib.ASSUME_TAC ( boolLib.UNDISCH_ALL ( HolKernel.SPEC ( Parse.Term [ HolKernel.QUOTE " (*#loc 461 41*)a2:int" ] ) intExtensionTheory.INT_ABS_NOT0POS ) )
4
4508187 4508202 16187542057262 18585852473299 19521708359784 19715171511164 30530093675625 31843273619564 50674900496277 51000387539985 56046981877594 56742674830565 75740036364629 80256832701160 89500895960115 118012025074246 122288845319881 122293629670427 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 202910626390682 208715714333547 233348232756684 288661503866515 312872164504665 335344845384093 346320628880774 384369207018219 387060757195302 387060757195317 407815224673109 434026573312213 436746517987253 452086640670619 466580814162987 468720065734516 481538804051201 482202506546959 508539208126029 518101342615657 528323506022848 591200233258429 595668015596644 604087710802508 620178966163059 624287298179518 630453859570293 650705801382461 701865353869684 701865353869699 702022205384584 704177836849649 706179577421880 723218851338186 727039285226205 758644385058785 768992129449337 773074865853592 778417488521139 791394107587914
frac 15 4
boolLib.SUBST_TAC [ let val FRAC_NMR_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "NMR" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMR_CONV" "" in FRAC_NMR_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 462 35*)frac_nmr (abs_frac (SGN a2 * b2,ABS a2))" ] ) , let val FRAC_DNM_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "DNM" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_DNM_CONV" "" in FRAC_DNM_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 462 94*)frac_dnm (abs_frac (SGN a2 * b2,ABS a2))" ] ) ]
5
4508187 4508202 16187542057262 18585852473284 18585852473299 19521708359784 19715171511164 30530093675625 31843273619564 50674900496277 51000387539985 56046981877594 56742674830565 75740036364629 80256832701160 89500895960115 118012025074246 122288845319881 122293629670427 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 202910626390682 208715714333547 233348232756684 288661503866515 312872164504665 335344845384093 346320628880774 384369207018219 387060757195302 387060757195317 407815224673109 434026573312213 436746517987253 452086640670619 466580814162987 468720065734516 481538804051201 482202506546959 508539208126029 518101342615657 528323506022848 553955828564172 591200233258429 595668015596644 604087710802508 620178966163059 624287298179503 624287298179518 630453859570293 650705801382461 701865353869684 701865353869699 702022205384584 704177836849649 706179577421880 723218851338186 727039285226205 758644385058785 768992129449337 773074865853592 778417488521139 791394107587899 791394107587914
frac 15 5
bossLib.RW_TAC ( intLib.int_ss sml_infixl0_open bossLib.++ sml_infixl0_close ( simpLib.ac_ss [ ( integerTheory.INT_MUL_ASSOC , integerTheory.INT_MUL_COMM ) ] ) ) [ ]

4508187 4508202 16187542057262 18585852473284 18585852473299 19521708359784 19715171511164 30530093675625 31843273619564 51000387539985 56046981877594 56742674830565 75740036364629 80256832701160 89500895960115 118012025074246 122288845319881 122293629670427 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 208715714333547 220718504271923 288661503866515 312872164504665 335344845384093 364949008958102 387060757195302 387060757195317 397752633845725 407815224673109 436746517987253 466580814162987 468720065734516 481538804051201 485556671600082 508539208126029 553955828564172 595668015596644 624287298179503 624287298179518 630453859570293 691829308845142 701865353869684 701865353869699 704177836849649 706179577421880 723218851338186 727039285226205 758644385058785 768992129449337 773074865853592 778417488521139 790342538195351 791394107587899 791394107587914
frac 16 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 464926985138 469711335699 474495686260 24470374511899 140610388301844 261130363072944 315432402477959 352093568008212 450759675057529 482361937484355 491132347463379 593106467734251 609871166818642 701865353869699 706179577421880 722440213267166 727508738049903
frac 16 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_sub_def" ) , ( DB.fetch "frac" "frac_add_def" ) , ( DB.fetch "frac" "frac_ainv_def" ) ]
2
4508202 464926985138 469711335699 474495686260 24470374511899 140610388301844 315432402477959 352093568008212 450759675057529 482361937484355 593106467734251 609871166818642 701865353869699 706179577421880 722440213267166 727508738049903
frac 16 2
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 479 29*)frac_dnm a * frac_dnm b" ] )
3
4508202 464926985138 469711335699 474495686260 27704386639508 30530093675625 34581724623821 37465014310946 41452627882021 50007584834127 87501839463370 89500895960115 102878370929577 193192691234950 222769067440727 253645064105403 273631433056527 290720238352080 307337960148636 312872164504665 315432402477959 326401240378555 335344845384093 375171751867939 382041346530869 407815224673109 424456922416641 424790543518974 433722768926704 436746517987253 438983581679669 440857107790137 446714363920839 459809111220250 482202506546959 500018104281680 508224885310599 511227347270932 537816627998171 540471898270061 542397426601549 606466822586645 620178966163059 650705801382461 701865353869699 706179577421880 736442897977369 778289883576303
frac 16 3
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 480 29*)frac_dnm b * frac_dnm c" ] )
4
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686260 19715171511164 27704386639508 30530093675610 30530093675625 31843273619564 34581724623821 37465014310946 41452627882006 41452627882021 50007584834127 80256832701160 87501839463370 89500895960115 102878370929577 118012025074246 193192691234950 222769067440727 253645064105388 253645064105403 273631433056527 288661503866515 290720238352080 307337960148636 312872164504665 315432402477944 315432402477959 326401240378555 335344845384093 375171751867939 382041346530869 407815224673094 407815224673109 424456922416641 424790543518974 433722768926704 436746517987253 438983581679669 440857107790137 446714363920839 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 500018104281680 508224885310599 511227347270932 537816627998171 540471898270061 542397426601549 595668015596644 606466822586645 620178966163059 650705801382446 650705801382461 664219134578472 701865353869699 706179577421880 736442897977369 778289883576303 778417488521139
frac 16 4
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
5
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 19715171511164 27704386639508 30530093675610 30530093675625 31843273619564 34581724623821 37465014310946 41452627882006 41452627882021 50007584834127 80256832701160 87501839463370 89500895960115 102878370929577 118012025074246 193192691234950 222769067440727 253645064105388 253645064105403 273631433056527 288661503866515 290720238352080 307337960148636 312872164504665 315432402477944 315432402477959 326401240378555 335344845384093 375171751867939 382041346530869 407815224673094 407815224673109 424456922416641 424790543518974 433722768926704 436746517987253 438983581679669 440857107790137 446714363920839 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 500018104281680 508224885310599 511227347270932 537816627998171 540471898270061 542397426601549 595668015596644 606466822586645 620178966163059 650705801382446 650705801382461 664219134578472 701865353869699 706179577421880 736442897977369 778289883576303 778417488521139
frac 16 5
let val FRAC_EQ_TAC : fracUtils.tactic = fn ( asm_list , goal ) => ( boolLib.AP_TERM_TAC sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MK_COMB_TAC sml_infixl0_open boolLib.THENL sml_infixl0_close [ boolLib.AP_TERM_TAC , boolLib.ALL_TAC ] ) ( asm_list , goal ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_EQ_TAC" "" in FRAC_EQ_TAC end
6 7
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 50007584834127 63745608404705 80256832701160 87501839463370 89500895960115 118012025074246 122933721051747 127157350242711 155767373850629 165326422253349 182332642765470 222769067440727 251116611618734 251859304878339 253645064105388 253645064105403 288276220246474 288661503866515 291334927332343 307337960148636 312872164504665 315432402477944 315432402477959 335344845384093 350726758852131 353959186142005 361722003230302 382041346530869 405318478251853 407815224673094 407815224673109 423349323863939 423491526596813 436746517987253 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 537668067690291 579389999596540 595668015596644 620178966163059 650705801382446 650705801382461 664219134578472 701865353869699 706179577421880 736442897977369 778417488521139
frac 16 6
integerRingLib.INT_RING_TAC

4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 19715171511164 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 41452627882021 44766951452521 63745608404705 80256832701160 118012025074246 182332642765470 253645064105388 253645064105403 288661503866515 315432402477944 315432402477959 353959186142005 407815224673094 407815224673109 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 595668015596644 650705801382446 650705801382461 664219134578472 701865353869699 778417488521139 788942277192997
frac 16 7
integerRingLib.INT_RING_TAC

4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 19715171511164 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 41452627882021 50007584834127 80256832701160 87501839463370 118012025074246 127157350242711 155767373850629 222769067440727 237441276816040 251116611618734 253645064105388 253645064105403 288276220246474 288661503866515 307337960148636 315432402477944 315432402477959 318848914026630 382041346530869 405318478251853 407815224673094 407815224673109 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 537668067690291 579389999596540 595668015596644 620178966163059 650705801382446 650705801382461 664219134578472 701865353869699 736442897977369 778417488521139
frac 17 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 464926985138 469711335699 474495686260 117858630148286 140610388301844 209516531744281 257221109259653 261130363072944 315432402477959 344252935528723 429019005474178 491132347463379 578130223533505 581108311166453 701865353869699 706179577421880 735765531419765
frac 17 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_div_def" ) , ( DB.fetch "frac" "frac_mul_def" ) , ( DB.fetch "frac" "frac_minv_def" ) , ( DB.fetch "frac" "frac_sgn_def" ) ]
2
4508202 464926985138 469711335699 474495686260 117858630148286 140610388301844 209516531744281 257221109259653 315432402477959 344252935528723 429019005474178 578130223533505 581108311166453 701865353869699 706179577421880 735765531419765
frac 17 2
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 479 29*)frac_dnm a * frac_dnm b" ] )
3
4508202 464926985138 469711335699 474495686260 4598728272596 30530093675625 41452627882021 50007584834127 89500895960115 97960080115193 128959028871180 253645064105403 273315714338346 277825451440918 300247864109669 312872164504665 315432402477959 325316125816468 333211001671803 335344845384093 382041346530869 407815224673109 430258980621532 432111367622278 436746517987253 436889257959297 459809111220250 482202506546959 497773702547197 556357350120255 565965984580839 567993635769284 570294242129844 620178966163059 647926678797484 650705801382461 653006787666068 682527236374503 701865353869699 706179577421880 730772060808004
frac 17 3
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 480 29*)frac_dnm b * frac_dnm c" ] )
4
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686260 4598728272596 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 50007584834127 80256832701160 89500895960115 97960080115193 118012025074246 128959028871180 253645064105388 253645064105403 273315714338346 277825451440918 288661503866515 300247864109669 312872164504665 315432402477944 315432402477959 325316125816468 333211001671803 335344845384093 382041346530869 407815224673094 407815224673109 430258980621532 432111367622278 436746517987253 436889257959297 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 497773702547197 556357350120255 565965984580839 567993635769284 570294242129844 595668015596644 620178966163059 647926678797484 650705801382446 650705801382461 653006787666068 664219134578472 682527236374503 701865353869699 706179577421880 730772060808004 778417488521139
frac 17 4
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
5
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 4598728272596 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 50007584834127 80256832701160 89500895960115 97960080115193 118012025074246 128959028871180 253645064105388 253645064105403 273315714338346 277825451440918 288661503866515 300247864109669 312872164504665 315432402477944 315432402477959 325316125816468 333211001671803 335344845384093 382041346530869 407815224673094 407815224673109 430258980621532 432111367622278 436746517987253 436889257959297 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 497773702547197 556357350120255 565965984580839 567993635769284 570294242129844 595668015596644 620178966163059 647926678797484 650705801382446 650705801382461 653006787666068 664219134578472 682527236374503 701865353869699 706179577421880 730772060808004 778417488521139
frac 17 5
let val FRAC_EQ_TAC : fracUtils.tactic = fn ( asm_list , goal ) => ( boolLib.AP_TERM_TAC sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MK_COMB_TAC sml_infixl0_open boolLib.THENL sml_infixl0_close [ boolLib.AP_TERM_TAC , boolLib.ALL_TAC ] ) ( asm_list , goal ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_EQ_TAC" "" in FRAC_EQ_TAC end
6 7
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 50007584834127 63745608404705 78375350493282 80256832701160 89500895960115 118012025074246 137376889867169 182332642765470 220921945027085 253645064105388 253645064105403 276318206147489 288661503866515 312872164504665 315432402477944 315432402477959 320005461376147 335344845384093 353959186142005 382041346530869 397059446604673 407815224673094 407815224673109 436746517987253 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 595668015596644 620178966163059 645031674433433 647926678797484 650705801382446 650705801382461 654731713983406 664219134578472 694407362888080 701865353869699 706179577421880 732467374549729 736482523063000 778417488521139
frac 17 6
integerRingLib.INT_RING_TAC

4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 19715171511164 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 41452627882021 44766951452521 63745608404705 80256832701160 118012025074246 182332642765470 253645064105388 253645064105403 288661503866515 315432402477944 315432402477959 353959186142005 407815224673094 407815224673109 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 595668015596644 650705801382446 650705801382461 664219134578472 701865353869699 778417488521139 788942277192997
frac 17 7
integerRingLib.INT_RING_TAC

4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 19715171511164 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834127 78375350493282 80256832701160 118012025074246 137376889867169 253645064105388 288661503866515 315432402477944 315432402477959 382041346530869 397059446604673 407815224673094 407815224673109 459809111220235 468720065734516 482202506546944 482202506546959 486021272360256 550577401678465 595668015596644 620178966163059 647926678797484 650705801382446 664219134578472 701865353869699 778417488521139
frac 18 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 464926985138 469711335699 24470374511899 140610388301844 261130363072944 315432402477959 446929102913644 482361937484355 491132347463379 695662661258174 701865353869699 706179577421880 722440213267166
frac 18 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_sub_def" ) , ( DB.fetch "frac" "frac_add_def" ) , ( DB.fetch "frac" "frac_ainv_def" ) ]
2
4508202 464926985138 469711335699 24470374511899 140610388301844 315432402477959 446929102913644 482361937484355 695662661258174 701865353869699 706179577421880 722440213267166
frac 18 2
let val FRAC_EQ_TAC : fracUtils.tactic = fn ( asm_list , goal ) => ( boolLib.AP_TERM_TAC sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MK_COMB_TAC sml_infixl0_open boolLib.THENL sml_infixl0_close [ boolLib.AP_TERM_TAC , boolLib.ALL_TAC ] ) ( asm_list , goal ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_EQ_TAC" "" in FRAC_EQ_TAC end
3 4
4508202 464926985138 469711335699 30530093675625 41452627882021 50007584834127 87501839463370 89500895960115 102878370929577 222769067440727 244663996733398 253645064105403 307337960148636 312872164504665 315432402477959 335344845384093 382041346530869 407815224673109 436746517987253 459809111220250 482202506546959 511227347270932 620178966163059 650705801382461 701865353869699 706179577421880 736442897977369 753075155273691 778289883576303
frac 18 3
integerRingLib.INT_RING_TAC

4508202 464926985138 469711335699 30530093675625 31843273619579 41452627882021 205868917211379 239562058260012 253645064105403 315432402477959 407815224673109 459809111220250 482202506546959 650705801382461 701865353869699
frac 18 4
integerRingLib.INT_RING_TAC

4508202 464926985138 469711335699 30530093675625 31843273619579 50007584834127 87501839463370 222769067440727 253645064105403 307337960148636 315432402477959 382041346530869 407815224673109 473744563338315 482202506546959 620178966163059 650705801382461 680197793288732 701865353869699 736442897977369
frac 19 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 464926985138 469711335699 72831243962649 140610388301844 209516531744281 261130363072944 315432402477959 429019005474178 491132347463379 701865353869699 706179577421880 735765531419765 761857212924936
frac 19 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 464926985138 469711335699 72831243962649 140610388301844 209516531744281 315432402477959 429019005474178 701865353869699 706179577421880 735765531419765 761857212924936
frac 19 2
let val FRAC_EQ_TAC : fracUtils.tactic = fn ( asm_list , goal ) => ( boolLib.AP_TERM_TAC sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MK_COMB_TAC sml_infixl0_open boolLib.THENL sml_infixl0_close [ boolLib.AP_TERM_TAC , boolLib.ALL_TAC ] ) ( asm_list , goal ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_EQ_TAC" "" in FRAC_EQ_TAC end
3 4
4508202 464926985138 469711335699 30530093675625 41452627882021 50007584834127 89500895960115 253645064105403 277825451440918 312872164504665 315432402477959 335344845384093 382041346530869 407815224673109 436746517987253 459809111220250 475227674296724 482202506546959 565965984580839 620178966163059 647926678797484 650705801382461 653006787666068 701865353869699 706179577421880 729059421117150
frac 19 3
integerRingLib.INT_RING_TAC

4508202 464926985138 469711335699 30530093675625 31843273619579 41452627882021 205868917211379 239562058260012 253645064105403 315432402477959 407815224673109 459809111220250 482202506546959 650705801382461 701865353869699
frac 19 4
integerRingLib.INT_RING_TAC

4508202 464926985138 469711335699 30530093675625 31843273619579 50007584834127 285475578339540 315432402477959 382041346530869 407815224673109 482202506546959 572875896459980 620178966163059 647926678797484 701865353869699
frac 20 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 464926985138 24470374511899 26029664712040 140610388301844 176621419497196 261130363072944 315432402477959 351120931925051 491132347463379 701865353869699 706179577421880 722440213267166 767119345016770
frac 20 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 464926985138 24470374511899 26029664712040 140610388301844 176621419497196 315432402477959 351120931925051 701865353869699 706179577421880 722440213267166 767119345016770
frac 20 2
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
3
4508202 464926985138 19715171511179 24856945732414 30530093675625 41452627882021 50007584834127 66309468446032 79564420403797 89500895960115 118012025074261 129916455720081 140193276126402 153925408423203 155412585748122 194488894108046 204035811552017 222769067440727 226732449426659 253645064105403 264214093175962 274418623030710 288661503866530 312872164504665 315432402477959 335344845384093 378006950145368 382041346530869 396426535263666 407815224673109 408012251060067 436746517987253 459777164157564 468720065734531 474709775802895 482202506546959 485873959153448 518033903340935 620178966163059 650705801382461 672462142824294 701865353869699 704029941565306 706179577421880 707423978458674 772093664419589 778417488521154
frac 20 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508202 464926985138 21238422084364 50007584834127 89500895960115 253645064105403 253837285941516 312872164504665 315432402477959 335344845384093 436746517987253 482202506546959 508935339825298 620178966163059 650705801382461 701865353869699 706179577421880 718247828197752 735059394784798
frac 21 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 464926985138 14772016513582 140610388301844 201925377915374 209516531744281 261130363072944 315432402477959 429019005474178 491132347463379 701865353869699 706179577421880 730594130017872 761528747387919
frac 21 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 464926985138 14772016513582 140610388301844 201925377915374 209516531744281 315432402477959 429019005474178 701865353869699 706179577421880 730594130017872 761528747387919
frac 21 2
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
3
4508202 464926985138 19715171511179 24856945732414 26453523118998 30530093675625 41452627882021 50007584834127 76615552095663 77489389076289 89500895960115 109090753363591 118012025074261 129916455720081 155412585748122 183244418696607 253645064105403 264214093175962 288661503866530 300256148512429 312872164504665 315432402477959 335344845384093 382041346530869 386052678541060 394124926128937 407815224673109 436746517987253 474709775802895 482202506546959 518684430889852 620120772533150 620178966163059 650705801382461 672462142824294 701865353869699 706179577421880 767470750716170 772093664419589 790979549364708
frac 21 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508202 464926985138 21238422084364 50007584834127 89500895960115 253645064105403 253837285941516 312872164504665 315432402477959 335344845384093 436746517987253 482202506546959 508935339825298 620178966163059 650705801382461 701865353869699 706179577421880 718247828197752 735059394784798
frac 22 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
19521708359799 176621419497196 201925377915374 315432402477959 466580814163002 487392307053155 499954508209683 701865353869699 706179577421880
frac 22 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
19521708359799 19715171511179 24856945732414 77489389076289 79564420403797 89500895960115 118012025074261 129916455720081 140193276126402 155412585748122 204035811552017 216669388690726 264214093175962 288661503866530 312872164504665 335344845384093 386052678541060 402903091135225 436746517987253 466580814163002 468720065734531 474709775802895 672462142824294 701865353869699 706179577421880 772093664419589 778417488521154 790979549364708
frac 22 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
3
19521708359799 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 77489389076289 79564420403797 80256832701160 89500895960115 118012025074246 118012025074261 129916455720066 129916455720081 132874657404974 140193276126402 155412585748107 155412585748122 204035811552017 216669388690726 264214093175947 264214093175962 288661503866515 288661503866530 312872164504665 335344845384093 386052678541060 402903091135225 436746517987253 466580814163002 468720065734516 468720065734531 474709775802880 474709775802895 595668015596644 672462142824279 672462142824294 701865353869699 706179577421880 772093664419574 772093664419589 778417488521139 778417488521154 790979549364708
frac 22 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

19521708359799 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 77489389076289 79564420403797 80256832701160 89500895960115 118012025074246 118012025074261 129916455720066 129916455720081 132874657404974 140193276126402 155412585748107 155412585748122 233924129684364 264214093175947 264214093175962 288661503866515 288661503866530 335344845384093 386052678541060 460092135737359 466580814163002 468720065734516 468720065734531 474709775802880 474709775802895 595668015596644 672462142824279 672462142824294 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154 792246600511180
frac 23 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
167669532884223 176621419497196 249256892975547 315432402477959 379084366667637 596680831953900 701865353869699 706179577421880 717518721896914
frac 23 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
14010927078666 19715171511179 24856945732414 79564420403797 89500895960115 118012025074261 129916455720081 140193276126402 155412585748122 182786161572575 204035811552017 216826038649258 264214093175962 288661503866530 292311651010717 312872164504665 335344845384093 378006950145368 436746517987253 465022461341402 468720065734531 474709775802895 482202506546959 485873959153448 620178966163059 624287298179518 650705801382461 672462142824294 680878920649753 701865353869699 706179577421880 772093664419589 778417488521154 779805535449334
frac 23 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

14010927078666 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 79564420403797 80256832701160 89500895960115 118012025074246 118012025074261 129916455720066 129916455720081 132874657404974 140193276126402 155412585748107 155412585748122 182786161572575 204035811552017 216826038649258 264214093175947 264214093175962 288661503866515 288661503866530 292311651010717 312872164504665 335344845384093 378006950145368 436746517987253 465022461341402 468720065734516 468720065734531 474709775802880 474709775802895 482202506546959 485873959153448 595668015596644 620178966163059 624287298179518 650705801382461 672462142824279 672462142824294 680878920649753 701865353869699 706179577421880 772093664419574 772093664419589 778417488521139 778417488521154 779805535449334
frac 24 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 100944459800193 120646227373060 128580266307596 167669532884223 261130363072944 315432402477959 347980617250872 379084366667637 491132347463379 519861221196501 701865353869699 706179577421880
frac 24 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_sub_def" ) , ( DB.fetch "frac" "frac_add_def" ) , ( DB.fetch "frac" "frac_ainv_def" ) ]
2
4508202 100944459800193 120646227373060 128580266307596 167669532884223 315432402477959 347980617250872 379084366667637 519861221196501 701865353869699 706179577421880
frac 24 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
3
4508202 12088386551708 17603456695016 45311495720767 50007584834127 89500895960115 121208154376682 128580266307596 182786161572575 239064758337832 253645064105403 312872164504665 315432402477959 316621618353512 335344845384093 436746517987253 467737120212790 482202506546959 507492625757409 509382309694392 584045895646284 620178966163059 624287298179518 650705801382461 696175464158974 701865353869699 706179577421880 755278939487044
frac 24 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 12088386551708 17603456695016 19715171511164 31843273619564 45311495720767 50007584834127 80256832701160 89500895960115 118012025074246 121208154376682 128580266307581 128580266307596 182786161572575 239064758337832 253645064105388 253645064105403 288661503866515 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 436746517987253 467737120212790 468720065734516 482202506546944 482202506546959 507492625757409 509382309694392 584045895646284 595668015596644 620178966163059 624287298179518 650705801382446 650705801382461 696175464158974 701865353869699 706179577421880 727662364694966 755278939487044 778417488521139
frac 25 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 24470374511899 70389655518361 100944459800193 128580266307596 128585050658157 137628854483960 140610388301844 167669532884223 261130363072944 279194163849649 315432402477959 351741799945103 379084366667637 482361937484355 491132347463379 651759375482802 701865353869699 706179577421880 722440213267166
frac 25 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 24470374511899 70389655518361 100944459800193 128580266307596 128585050658157 137628854483960 140610388301844 167669532884223 279194163849649 315432402477959 351741799945103 379084366667637 482361937484355 651759375482802 701865353869699 706179577421880 722440213267166
frac 25 2
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 581 24*)frac_dnm f1" ] )
3
4508202 10139916208643 12088386551708 30530093675625 41452627882021 45311495720767 50007584834127 87501839463370 89500895960115 102878370929577 121208154376682 124284676789515 128580266307596 128585050658157 182786161572575 222769067440727 229148831366603 248121108794095 253645064105403 269522706205007 292636904937432 307337960148636 312872164504665 315432402477959 316621618353512 335344845384093 342251063726418 382041346530869 394502422665047 407815224673109 423771089493725 424790543518974 436746517987253 459809111220250 482202506546959 494503350794992 501102285266393 508224885310599 511227347270932 537065928023733 620178966163059 624287298179518 643235859910442 645028598350509 650705801382461 696175464158974 701865353869699 706179577421880 718180679409723 736442897977369 755278939487044 778289883576303
frac 25 3
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 582 24*)frac_dnm f2" ] )
4
4508187 4508202 10139916208643 12088386551708 19715171511164 30530093675625 31843273619564 41452627882021 45311495720767 50007584834127 80256832701160 87501839463370 89500895960115 102878370929577 118012025074246 121208154376682 124284676789515 128580266307581 128580266307596 128585050658157 182786161572575 222769067440727 229148831366603 248121108794095 253645064105388 253645064105403 269522706205007 288661503866515 292636904937432 307337960148636 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 342251063726418 382041346530869 394502422665047 407815224673109 423771089493725 424790543518974 436746517987253 459809111220250 468720065734516 482202506546944 482202506546959 494503350794992 501102285266393 508224885310599 511227347270932 537065928023733 595668015596644 620178966163059 624287298179518 643235859910442 645028598350509 650705801382446 650705801382461 696175464158974 701865353869699 706179577421880 718180679409723 727662364694966 736442897977369 755278939487044 778289883576303 778417488521139
frac 25 4
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 583 24*)frac_dnm f1 * frac_dnm f2" ] )
5
4508187 4508202 10139916208643 12088386551708 19715171511164 30530093675625 31843273619564 41452627882021 45311495720767 50007584834127 80256832701160 87501839463370 89500895960115 102878370929577 118012025074246 121208154376682 124284676789515 128580266307581 128580266307596 128585050658142 128585050658157 182786161572575 222769067440727 229148831366603 248121108794095 253645064105388 253645064105403 269522706205007 288661503866515 292636904937432 307337960148636 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 342251063726418 382041346530869 394502422665047 407815224673109 423771089493725 424790543518974 436746517987253 459809111220250 468720065734516 482202506546944 482202506546959 494503350794992 501102285266393 508224885310599 511227347270932 537065928023733 595668015596644 620178966163059 624287298179518 643235859910442 645028598350509 650705801382446 650705801382461 696175464158974 701865353869699 706179577421880 718180679409723 727662364694966 736442897977369 755278939487044 778289883576303 778417488521139
frac 25 5
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
6
4508187 4508202 10139916208643 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 45311495720767 50007584834127 80256832701160 87501839463370 89500895960115 102878370929577 118012025074246 121208154376682 124284676789515 128580266307581 128580266307596 128585050658142 128585050658157 182786161572575 222769067440727 229148831366603 248121108794095 253645064105388 253645064105403 269522706205007 288661503866515 292636904937432 307337960148636 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 342251063726418 382041346530869 394502422665047 407815224673094 407815224673109 423771089493725 424790543518974 436746517987253 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 494503350794992 501102285266393 508224885310599 511227347270932 537065928023733 595668015596644 620178966163059 624287298179518 643235859910442 645028598350509 650705801382446 650705801382461 664219134578472 696175464158974 701865353869699 706179577421880 718180679409723 727662364694966 736442897977369 755278939487044 778289883576303 778417488521139
frac 25 6
let val FRAC_EQ_TAC : fracUtils.tactic = fn ( asm_list , goal ) => ( boolLib.AP_TERM_TAC sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MK_COMB_TAC sml_infixl0_open boolLib.THENL sml_infixl0_close [ boolLib.AP_TERM_TAC , boolLib.ALL_TAC ] ) ( asm_list , goal ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_EQ_TAC" "" in FRAC_EQ_TAC end

4508187 4508202 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 50007584834127 80256832701160 85669373317696 87501839463370 89500895960115 118012025074246 128580266307581 128580266307596 128585050658142 128585050658157 152705044681047 182786161572575 222769067440727 253645064105388 253645064105403 288661503866515 292812230611881 307337960148636 312872164504665 315432402477944 315432402477959 325011131407815 332129567979119 335344845384093 382041346530869 391316780571462 394941933507168 407815224673094 407815224673109 436746517987253 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 568044244612596 595668015596644 620178966163059 624287298179518 629867790762640 636480249854040 642476782457703 650705801382446 650705801382461 663834354841836 664219134578472 701865353869699 705462204750172 706179577421880 727662364694966 736442897977369 778417488521139
frac 26 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 44608524945160 128580266307596 128585050658157 140610388301844 167669532884223 260227007254760 261130363072944 315432402477959 379084366667637 412264072650067 428725928468617 491132347463379 579001105571793 701865353869699 706179577421880 729038444634317
frac 26 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 44608524945160 128580266307596 128585050658157 140610388301844 167669532884223 260227007254760 315432402477959 379084366667637 412264072650067 428725928468617 579001105571793 701865353869699 706179577421880 729038444634317
frac 26 2
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 581 24*)frac_dnm f1" ] )
3
4508202 12088386551708 30530093675625 41452627882021 45311495720767 50007584834127 87082545978102 89500895960115 114023320795348 121208154376682 128580266307596 128585050658157 182786161572575 215450611704053 222769067440727 224665647131154 253645064105403 312872164504665 315432402477959 316621618353512 335344845384093 382041346530869 407815224673109 436746517987253 444653826433780 459213357558907 459612961056609 482202506546959 529119143151888 537065928023733 553604144669393 557107163368890 620178966163059 620261061241304 624287298179518 643250067084721 650705801382461 651294551882838 681735071366726 691332394519818 696175464158974 701865353869699 706179577421880 755278939487044 770562482749222
frac 26 3
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 582 24*)frac_dnm f2" ] )
4
4508187 4508202 12088386551708 19715171511164 30530093675625 31843273619564 41452627882021 45311495720767 50007584834127 80256832701160 87082545978102 89500895960115 114023320795348 118012025074246 121208154376682 128580266307581 128580266307596 128585050658157 182786161572575 215450611704053 222769067440727 224665647131154 253645064105388 253645064105403 288661503866515 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 382041346530869 407815224673109 436746517987253 444653826433780 459213357558907 459612961056609 468720065734516 482202506546944 482202506546959 529119143151888 537065928023733 553604144669393 557107163368890 595668015596644 620178966163059 620261061241304 624287298179518 643250067084721 650705801382446 650705801382461 651294551882838 681735071366726 691332394519818 696175464158974 701865353869699 706179577421880 727662364694966 755278939487044 770562482749222 778417488521139
frac 26 4
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 593 24*)frac_dnm f2 * frac_dnm f1" ] )
5
4508187 4508202 12088386551708 19715171511164 30530093675625 31843273619564 41452627882021 45311495720767 50007584834127 80256832701160 87082545978102 89500895960115 114023320795348 118012025074246 121208154376682 128580266307581 128580266307596 128585050658142 128585050658157 182786161572575 215450611704053 222769067440727 224665647131154 253645064105388 253645064105403 288661503866515 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 382041346530869 407815224673109 436746517987253 444653826433780 459213357558907 459612961056609 468720065734516 482202506546944 482202506546959 529119143151888 537065928023733 553604144669393 557107163368890 595668015596644 620178966163059 620261061241304 624287298179518 643250067084721 650705801382446 650705801382461 651294551882838 681735071366726 691332394519818 696175464158974 701865353869699 706179577421880 727662364694966 755278939487044 770562482749222 778417488521139
frac 26 5
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
6
4508187 4508202 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 45311495720767 50007584834127 80256832701160 87082545978102 89500895960115 114023320795348 118012025074246 121208154376682 128580266307581 128580266307596 128585050658142 128585050658157 182786161572575 215450611704053 222769067440727 224665647131154 253645064105388 253645064105403 288661503866515 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 382041346530869 407815224673094 407815224673109 436746517987253 444653826433780 459213357558907 459612961056609 459809111220235 468720065734516 482202506546944 482202506546959 529119143151888 537065928023733 553604144669393 557107163368890 595668015596644 620178966163059 620261061241304 624287298179518 643250067084721 650705801382446 650705801382461 651294551882838 664219134578472 681735071366726 691332394519818 696175464158974 701865353869699 706179577421880 727662364694966 755278939487044 770562482749222 778417488521139
frac 26 6
let val FRAC_EQ_TAC : fracUtils.tactic = fn ( asm_list , goal ) => ( boolLib.AP_TERM_TAC sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MK_COMB_TAC sml_infixl0_open boolLib.THENL sml_infixl0_close [ boolLib.AP_TERM_TAC , boolLib.ALL_TAC ] ) ( asm_list , goal ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_EQ_TAC" "" in FRAC_EQ_TAC end
7 8
4508187 4508202 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 50007584834127 80256832701160 87501839463370 89500895960115 117320128241726 118012025074246 128580266307581 128580266307596 128585050658142 128585050658157 152705044681047 182786161572575 222769067440727 247639376217768 253240174568117 253645064105388 253645064105403 288661503866515 307337960148636 312872164504665 315432402477944 315432402477959 325318635989111 335344845384093 370045068581049 382041346530869 400762814824547 407815224673094 407815224673109 436746517987253 459809111220235 459809111220250 468720065734516 473312556323234 482202506546944 482202506546959 564651634008291 595668015596644 620178966163059 624287298179518 636480249854040 650705801382446 650705801382461 664219134578472 701865353869699 706179577421880 727662364694966 778417488521139 785294398325353 786432954946843
frac 26 7
integerRingLib.INT_RING_TAC

4508187 4508202 19715171511164 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 41452627882021 80256832701160 118012025074246 128580266307581 128580266307596 128585050658142 128585050658157 205868917211379 239562058260012 253645064105388 253645064105403 288661503866515 315432402477944 315432402477959 407815224673094 407815224673109 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 595668015596644 650705801382446 650705801382461 664219134578472 701865353869699 727662364694966 778417488521139
frac 26 8
integerRingLib.INT_RING_TAC

4508187 4508202 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834127 80256832701160 87501839463370 118012025074246 128580266307581 128580266307596 128585050658142 128585050658157 129144753425079 152705044681047 182786161572575 191038717373757 222769067440727 253645064105388 253645064105403 288661503866515 307337960148636 315432402477944 315432402477959 370045068581049 382041346530869 407815224673094 407815224673109 459809111220235 468720065734516 482202506546944 482202506546959 564651634008291 595668015596644 620178966163059 624287298179518 636480249854040 650705801382446 650705801382461 664219134578472 701865353869699 727662364694966 778417488521139
frac 27 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 42212525143273 69627784098743 75582718952116 100944459800193 128580266307596 128585050658157 140610388301844 167669532884223 203823406150722 209516531744281 261130363072944 315432402477959 379084366667637 429019005474178 491132347463379 701865353869699 706179577421880 735765531419765
frac 27 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 42212525143273 69627784098743 75582718952116 100944459800193 128580266307596 128585050658157 140610388301844 167669532884223 203823406150722 209516531744281 315432402477959 379084366667637 429019005474178 701865353869699 706179577421880 735765531419765
frac 27 2
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 582 24*)frac_dnm f2" ] )
3
4508202 12088386551708 30530093675625 41452627882021 45311495720767 50007584834127 89500895960115 101765500193653 121208154376682 128580266307596 128585050658157 158560608344874 182786161572575 194539262717624 253645064105403 277825451440918 312872164504665 315432402477959 316621618353512 335344845384093 382041346530869 407815224673109 436746517987253 459809111220250 482202506546959 537962163574299 556357350120255 565965984580839 591257398700235 597147915933526 620178966163059 624287298179518 647926678797484 650705801382461 653006787666068 654848899732597 659536847636507 681735071366726 682527236374503 696175464158974 701090269431027 701865353869699 706179577421880 709794257809686 755278939487044
frac 27 3
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 583 24*)frac_dnm f1 * frac_dnm f2" ] )
4
4508187 4508202 12088386551708 19715171511164 30530093675625 31843273619564 41452627882021 45311495720767 50007584834127 80256832701160 89500895960115 101765500193653 118012025074246 121208154376682 128580266307596 128585050658142 128585050658157 158560608344874 182786161572575 194539262717624 253645064105388 253645064105403 277825451440918 288661503866515 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 382041346530869 407815224673109 436746517987253 459809111220250 468720065734516 482202506546944 482202506546959 537962163574299 556357350120255 565965984580839 591257398700235 595668015596644 597147915933526 620178966163059 624287298179518 647926678797484 650705801382446 650705801382461 653006787666068 654848899732597 659536847636507 681735071366726 682527236374503 696175464158974 701090269431027 701865353869699 706179577421880 709794257809686 727662364694966 755278939487044 778417488521139
frac 27 4
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
5
4508187 4508202 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 45311495720767 50007584834127 80256832701160 89500895960115 101765500193653 118012025074246 121208154376682 128580266307581 128580266307596 128585050658142 128585050658157 158560608344874 182786161572575 194539262717624 253645064105388 253645064105403 277825451440918 288661503866515 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 382041346530869 407815224673094 407815224673109 436746517987253 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 537962163574299 556357350120255 565965984580839 591257398700235 595668015596644 597147915933526 620178966163059 624287298179518 647926678797484 650705801382446 650705801382461 653006787666068 654848899732597 659536847636507 664219134578472 681735071366726 682527236374503 696175464158974 701090269431027 701865353869699 706179577421880 709794257809686 727662364694966 755278939487044 778417488521139
frac 27 5
let val FRAC_EQ_TAC : fracUtils.tactic = fn ( asm_list , goal ) => ( boolLib.AP_TERM_TAC sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MK_COMB_TAC sml_infixl0_open boolLib.THENL sml_infixl0_close [ boolLib.AP_TERM_TAC , boolLib.ALL_TAC ] ) ( asm_list , goal ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_EQ_TAC" "" in FRAC_EQ_TAC end

4508187 4508202 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 50007584834127 52178842716590 80256832701160 89500895960115 118012025074246 128580266307581 128580266307596 128585050658142 128585050658157 175448121535616 182786161572575 253645064105388 253645064105403 266026388068523 277470481251169 288661503866515 306370992003194 312872164504665 313001715655793 315432402477944 315432402477959 335344845384093 382041346530869 407815224673094 407815224673109 423727190987585 436746517987253 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 546848485662480 578598290835533 595668015596644 599581328078785 620178966163059 624287298179518 647926678797484 650705801382446 650705801382461 664219134578472 701865353869699 706179577421880 727662364694966 778417488521139
frac 28 0
bossLib.PROVE_TAC tactictoe_thmlarg

4508202 42212525143273 100944459800193 128580266307596 128585050658157 140610388301844 162628021129915 167669532884223 203823406150722 209516531744281 261130363072944 315432402477959 379084366667637 429019005474178 491132347463379 557196232766998 701865353869699 706179577421880 709539609293366 735765531419765
frac 29 0
bossLib.SIMP_TAC intLib.int_ss [ ( DB.fetch "frac" "FRAC_MINV_CALCULATE" ) , intExtensionTheory.SGN_def , ( DB.fetch "frac" "frac_1_def" ) ]

156226804439657 165845834666695 167669532884223 201175754342390 201925377915374 315432402477959 701865353869699 706179577421880 779383954415779
frac 30 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 464926985138 469711335699 474495686260 24470374511899 44608524945160 140610388301844 155566124830285 261130363072944 315432402477959 428725928468617 436659522159745 482361937484355 482668166864641 491132347463379 534377602719420 572042957664012 579001105571793 701865353869699 706179577421880 722440213267166
frac 30 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_sub_def" ) , ( DB.fetch "frac" "frac_add_def" ) , ( DB.fetch "frac" "frac_ainv_def" ) ]
2
4508202 464926985138 469711335699 474495686260 24470374511899 44608524945160 140610388301844 155566124830285 315432402477959 428725928468617 436659522159745 482361937484355 482668166864641 534377602719420 572042957664012 579001105571793 701865353869699 706179577421880 722440213267166
frac 30 2
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 479 29*)frac_dnm a * frac_dnm b" ] )
3
4508202 464926985138 469711335699 474495686260 12088386551708 30530093675625 34557581136119 41452627882021 45311495720767 50007584834127 80138215143401 82197512569629 83579685229100 87501839463370 89500895960115 102878370929577 121208154376682 134524027570544 149371417788467 165529742799545 182786161572575 209603936749920 222769067440727 224665647131154 253645064105403 307337960148636 312872164504665 315432402477959 316621618353512 332979829367002 335344845384093 342251063726418 350470113646544 382041346530869 397331748748261 407815224673109 418730685469726 423771089493725 424790543518974 436746517987253 437192450943828 444653826433780 459213357558907 459809111220250 482202506546959 490166815740844 508224885310599 511227347270932 529119143151888 537065928023733 548021264802913 573019101173946 593428580408730 620178966163059 620261061241304 623831403392004 624287298179518 637274228503405 643250067084721 645028598350509 646402404325202 650705801382461 651294551882838 681735071366726 691332394519818 696175464158974 701865353869699 706179577421880 718180679409723 732512534972769 736442897977369 755278939487044 762226067851896 770562482749222 778289883576303 779961277215153
frac 30 3
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 480 29*)frac_dnm b * frac_dnm c" ] )
4
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686260 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 34557581136119 41452627882006 41452627882021 45311495720767 50007584834127 80138215143401 80256832701160 82197512569629 83579685229100 87501839463370 89500895960115 102878370929577 118012025074246 121208154376682 134524027570544 149371417788467 165529742799545 182786161572575 209603936749920 222769067440727 224665647131154 253645064105388 253645064105403 288661503866515 307337960148636 312872164504665 315432402477944 315432402477959 316621618353512 332979829367002 335344845384093 342251063726418 350470113646544 382041346530869 397331748748261 407815224673094 407815224673109 418730685469726 423771089493725 424790543518974 436746517987253 437192450943828 444653826433780 459213357558907 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 490166815740844 508224885310599 511227347270932 529119143151888 537065928023733 548021264802913 573019101173946 593428580408730 595668015596644 620178966163059 620261061241304 623831403392004 624287298179518 637274228503405 643250067084721 645028598350509 646402404325202 650705801382446 650705801382461 651294551882838 664219134578472 681735071366726 691332394519818 696175464158974 701865353869699 706179577421880 718180679409723 732512534972769 736442897977369 755278939487044 762226067851896 770562482749222 778289883576303 778417488521139 779961277215153
frac 30 4
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 635 24*)frac_dnm b" ] )
5
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 34557581136119 41452627882006 41452627882021 45311495720767 50007584834127 80138215143401 80256832701160 82197512569629 83579685229100 87501839463370 89500895960115 102878370929577 118012025074246 121208154376682 134524027570544 149371417788467 165529742799545 182786161572575 209603936749920 222769067440727 224665647131154 253645064105388 253645064105403 288661503866515 307337960148636 312872164504665 315432402477944 315432402477959 316621618353512 332979829367002 335344845384093 342251063726418 350470113646544 382041346530869 397331748748261 407815224673094 407815224673109 418730685469726 423771089493725 424790543518974 436746517987253 437192450943828 444653826433780 459213357558907 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 490166815740844 508224885310599 511227347270932 529119143151888 537065928023733 548021264802913 573019101173946 593428580408730 595668015596644 620178966163059 620261061241304 623831403392004 624287298179518 637274228503405 643250067084721 645028598350509 646402404325202 650705801382446 650705801382461 651294551882838 664219134578472 681735071366726 691332394519818 696175464158974 701865353869699 706179577421880 718180679409723 732512534972769 736442897977369 755278939487044 762226067851896 770562482749222 778289883576303 778417488521139 779961277215153
frac 30 5
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 636 24*)frac_dnm c" ] )
6
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 34557581136119 41452627882006 41452627882021 45311495720767 50007584834127 80138215143401 80256832701160 82197512569629 83579685229100 87501839463370 89500895960115 102878370929577 118012025074246 121208154376682 134524027570544 149371417788467 165529742799545 182786161572575 209603936749920 222769067440727 224665647131154 253645064105388 253645064105403 288661503866515 307337960148636 312872164504665 315432402477944 315432402477959 316621618353512 332979829367002 335344845384093 342251063726418 350470113646544 382041346530869 397331748748261 407815224673094 407815224673109 418730685469726 423771089493725 424790543518974 436746517987253 437192450943828 444653826433780 459213357558907 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 490166815740844 508224885310599 511227347270932 529119143151888 537065928023733 548021264802913 573019101173946 593428580408730 595668015596644 620178966163059 620261061241304 623831403392004 624287298179518 637274228503405 643250067084721 645028598350509 646402404325202 650705801382446 650705801382461 651294551882838 664219134578472 681735071366726 691332394519818 696175464158974 701865353869699 706179577421880 718180679409723 727662364694966 732512534972769 736442897977369 755278939487044 762226067851896 770562482749222 778289883576303 778417488521139 779961277215153
frac 30 6
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
7
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 34557581136119 41452627882006 41452627882021 45311495720767 50007584834127 80138215143401 80256832701160 82197512569629 83579685229100 87501839463370 89500895960115 102878370929577 118012025074246 121208154376682 134524027570544 149371417788467 165529742799545 182786161572575 209603936749920 222769067440727 224665647131154 253645064105388 253645064105403 288661503866515 307337960148636 312872164504665 315432402477944 315432402477959 316621618353512 332979829367002 335344845384093 342251063726418 350470113646544 382041346530869 397331748748261 407815224673094 407815224673109 418730685469726 423771089493725 424790543518974 436746517987253 437192450943828 444653826433780 459213357558907 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 490166815740844 508224885310599 511227347270932 529119143151888 537065928023733 548021264802913 573019101173946 593428580408730 595668015596644 620178966163059 620261061241304 623831403392004 624287298179518 637274228503405 643250067084721 645028598350509 646402404325202 650705801382446 650705801382461 651294551882838 664219134578472 681735071366726 691332394519818 696175464158974 701865353869699 706179577421880 718180679409723 727662364694966 732512534972769 736442897977369 755278939487044 762226067851896 770562482749222 778289883576303 778417488521139 779961277215153
frac 30 7
let val FRAC_EQ_TAC : fracUtils.tactic = fn ( asm_list , goal ) => ( boolLib.AP_TERM_TAC sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MK_COMB_TAC sml_infixl0_open boolLib.THENL sml_infixl0_close [ boolLib.AP_TERM_TAC , boolLib.ALL_TAC ] ) ( asm_list , goal ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_EQ_TAC" "" in FRAC_EQ_TAC end
8 9
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 50007584834127 63745608404705 80256832701160 87501839463370 89500895960115 118012025074246 152705044681047 182332642765470 182786161572575 222769067440727 253645064105388 253645064105403 288661503866515 300594040441079 307337960148636 312872164504665 315432402477944 315432402477959 332129567979119 335344845384093 353959186142005 382041346530869 386131775768279 407815224673094 407815224673109 436746517987253 451717343883497 459809111220235 459809111220250 468720065734516 470087379456402 482202506546944 482202506546959 493437953230396 519158951807012 533143031961184 537668067690291 564651634008291 579389999596540 590054957582661 590924240406095 595668015596644 598296230204609 608785538745445 615144393112341 620178966163059 624287298179518 636480249854040 650705801382446 650705801382461 664219134578472 701865353869699 706179577421880 712653557687668 719483995544296 721206061774986 727662364694966 736442897977369 776578892781958 778417488521139
frac 30 8
integerRingLib.INT_RING_TAC

4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 19715171511164 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 41452627882021 44766951452521 63745608404705 80256832701160 118012025074246 182332642765470 253645064105388 253645064105403 288661503866515 315432402477944 315432402477959 353959186142005 407815224673094 407815224673109 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 595668015596644 650705801382446 650705801382461 664219134578472 701865353869699 727662364694966 778417488521139 788942277192997
frac 30 9
integerRingLib.INT_RING_TAC

4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 12088386551708 19715171511164 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 41452627882021 50007584834127 80256832701160 87501839463370 118012025074246 152705044681047 182786161572575 222769067440727 253645064105388 253645064105403 272142887111627 288661503866515 301835102156140 307337960148636 315432402477944 315432402477959 332129567979119 382041346530869 386131775768279 407815224673094 407815224673109 451717343883497 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 533143031961184 537668067690291 564651634008291 579389999596540 590054957582661 595668015596644 608785538745445 615144393112341 620178966163059 624287298179518 636480249854040 650705801382446 650705801382461 664219134578472 701865353869699 712653557687668 719483995544296 727662364694966 736442897977369 778417488521139
frac 31 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 464926985138 469711335699 474495686260 9718893609414 44608524945160 140610388301844 150896602761592 261130363072944 315432402477959 345403476566684 370845992417392 428725928468617 474487731314375 491132347463379 579001105571793 701865353869699 706179577421880 722440213267166
frac 31 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_sub_def" ) , ( DB.fetch "frac" "frac_add_def" ) , ( DB.fetch "frac" "frac_ainv_def" ) ]
2
4508202 464926985138 469711335699 474495686260 9718893609414 44608524945160 140610388301844 150896602761592 315432402477959 345403476566684 370845992417392 428725928468617 474487731314375 579001105571793 701865353869699 706179577421880 722440213267166
frac 31 2
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 479 29*)frac_dnm a * frac_dnm b" ] )
3
4508202 464926985138 469711335699 474495686260 12088386551708 17764665223688 30530093675625 41452627882021 45311495720767 50007584834127 63415006371220 76756521954821 87082545978102 89500895960115 121208154376682 149371417788467 182786161572575 215450611704053 222769067440727 224665647131154 253645064105403 261377009135304 273431096862288 302386003483015 312872164504665 315432402477959 316621618353512 335344845384093 339819168922877 382041346530869 389915818564845 406946508335562 407815224673109 412908727227521 436746517987253 444653826433780 459213357558907 482202506546959 502645355888920 525085498421903 529119143151888 537065928023733 553604144669393 557107163368890 588240750355848 607264188334248 609280518066664 620178966163059 620261061241304 624287298179518 628652782958360 643250067084721 650705801382461 651294551882838 658601042004405 681735071366726 691332394519818 694395071794163 696175464158974 701865353869699 706179577421880 711868197369928 732512534972769 755076751895425 755278939487044 770434125340490 770562482749222
frac 31 3
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 480 29*)frac_dnm b * frac_dnm c" ] )
4
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686260 12088386551708 17764665223688 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 45311495720767 50007584834127 63415006371220 76756521954821 80256832701160 87082545978102 89500895960115 118012025074246 121208154376682 149371417788467 182786161572575 215450611704053 222769067440727 224665647131154 253645064105388 253645064105403 261377009135304 273431096862288 288661503866515 302386003483015 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 339819168922877 382041346530869 389915818564845 406946508335562 407815224673094 407815224673109 412908727227521 436746517987253 444653826433780 459213357558907 459809111220235 468720065734516 482202506546944 482202506546959 502645355888920 525085498421903 529119143151888 537065928023733 553604144669393 557107163368890 588240750355848 595668015596644 607264188334248 609280518066664 620178966163059 620261061241304 624287298179518 628652782958360 643250067084721 650705801382446 650705801382461 651294551882838 658601042004405 664219134578472 681735071366726 691332394519818 694395071794163 696175464158974 701865353869699 706179577421880 711868197369928 732512534972769 755076751895425 755278939487044 770434125340490 770562482749222 778417488521139
frac 31 4
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 635 24*)frac_dnm b" ] )
5
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 12088386551708 17764665223688 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 45311495720767 50007584834127 63415006371220 76756521954821 80256832701160 87082545978102 89500895960115 118012025074246 121208154376682 149371417788467 182786161572575 215450611704053 222769067440727 224665647131154 253645064105388 253645064105403 261377009135304 273431096862288 288661503866515 302386003483015 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 339819168922877 382041346530869 389915818564845 406946508335562 407815224673094 407815224673109 412908727227521 436746517987253 444653826433780 459213357558907 459809111220235 468720065734516 482202506546944 482202506546959 502645355888920 525085498421903 529119143151888 537065928023733 553604144669393 557107163368890 588240750355848 595668015596644 607264188334248 609280518066664 620178966163059 620261061241304 624287298179518 628652782958360 643250067084721 650705801382446 650705801382461 651294551882838 658601042004405 664219134578472 681735071366726 691332394519818 694395071794163 696175464158974 701865353869699 706179577421880 711868197369928 732512534972769 755076751895425 755278939487044 770434125340490 770562482749222 778417488521139
frac 31 5
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 636 24*)frac_dnm c" ] )
6
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 12088386551708 17764665223688 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 45311495720767 50007584834127 63415006371220 76756521954821 80256832701160 87082545978102 89500895960115 118012025074246 121208154376682 149371417788467 182786161572575 215450611704053 222769067440727 224665647131154 253645064105388 253645064105403 261377009135304 273431096862288 288661503866515 302386003483015 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 339819168922877 382041346530869 389915818564845 406946508335562 407815224673094 407815224673109 412908727227521 436746517987253 444653826433780 459213357558907 459809111220235 468720065734516 482202506546944 482202506546959 502645355888920 525085498421903 529119143151888 537065928023733 553604144669393 557107163368890 588240750355848 595668015596644 607264188334248 609280518066664 620178966163059 620261061241304 624287298179518 628652782958360 643250067084721 650705801382446 650705801382461 651294551882838 658601042004405 664219134578472 681735071366726 691332394519818 694395071794163 696175464158974 701865353869699 706179577421880 711868197369928 727662364694966 732512534972769 755076751895425 755278939487044 770434125340490 770562482749222 778417488521139
frac 31 6
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
7
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 12088386551708 17764665223688 19715171511164 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 45311495720767 50007584834127 63415006371220 76756521954821 80256832701160 87082545978102 89500895960115 118012025074246 121208154376682 149371417788467 182786161572575 215450611704053 222769067440727 224665647131154 253645064105388 253645064105403 261377009135304 273431096862288 288661503866515 302386003483015 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 339819168922877 382041346530869 389915818564845 406946508335562 407815224673094 407815224673109 412908727227521 436746517987253 444653826433780 459213357558907 459809111220235 468720065734516 482202506546944 482202506546959 502645355888920 525085498421903 529119143151888 537065928023733 553604144669393 557107163368890 588240750355848 595668015596644 607264188334248 609280518066664 620178966163059 620261061241304 624287298179518 628652782958360 643250067084721 650705801382446 650705801382461 651294551882838 658601042004405 664219134578472 681735071366726 691332394519818 694395071794163 696175464158974 701865353869699 706179577421880 711868197369928 727662364694966 732512534972769 755076751895425 755278939487044 770434125340490 770562482749222 778417488521139
frac 31 7
let val FRAC_EQ_TAC : fracUtils.tactic = fn ( asm_list , goal ) => ( boolLib.AP_TERM_TAC sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MK_COMB_TAC sml_infixl0_open boolLib.THENL sml_infixl0_close [ boolLib.AP_TERM_TAC , boolLib.ALL_TAC ] ) ( asm_list , goal ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_EQ_TAC" "" in FRAC_EQ_TAC end
8 9
4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 12088386551708 19715171511164 23487340567294 30530093675610 30530093675625 31843273619564 41452627882006 41452627882021 50007584834127 57602606032856 63745608404705 80256832701160 87501839463370 89500895960115 118012025074246 152705044681047 182332642765470 182786161572575 222769067440727 230532053763620 253645064105388 253645064105403 288661503866515 307337960148636 312872164504665 315432402477944 315432402477959 323204686633554 335344845384093 353959186142005 362807012784906 370045068581049 382041346530869 386131775768279 407815224673094 407815224673109 421510043997846 436746517987253 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 483956466905249 495180306258099 537668067690291 547703175483023 564651634008291 579389999596540 595668015596644 608824518941783 612095271974368 620178966163059 624287298179518 636480249854040 650705801382446 650705801382461 664219134578472 699849504678244 701865353869699 706179577421880 712653557687668 719483995544296 727662364694966 778417488521139
frac 31 8
integerRingLib.INT_RING_TAC

4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 19715171511164 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 41452627882021 44766951452521 63745608404705 80256832701160 118012025074246 182332642765470 253645064105388 253645064105403 288661503866515 315432402477944 315432402477959 353959186142005 407815224673094 407815224673109 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 595668015596644 650705801382446 650705801382461 664219134578472 701865353869699 727662364694966 778417488521139 788942277192997
frac 31 9
integerRingLib.INT_RING_TAC

4508187 4508202 464926985123 464926985138 469711335684 469711335699 474495686245 474495686260 12088386551708 19715171511164 23487340567294 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 41452627882021 50007584834127 80256832701160 87501839463370 118012025074246 152705044681047 182786161572575 222769067440727 236591347715997 253645064105388 253645064105403 288661503866515 307337960148636 315432402477944 315432402477959 323204686633554 362807012784906 370045068581049 382041346530869 386131775768279 407815224673094 407815224673109 459809111220235 459809111220250 468720065734516 482202506546944 482202506546959 537668067690291 547703175483023 564651634008291 579389999596540 595668015596644 620178966163059 624287298179518 636480249854040 650705801382446 650705801382461 652572001205122 664219134578472 701865353869699 712653557687668 719483995544296 727662364694966 778417488521139
frac 32 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
4508202 19715171511179 24856945732414 31843273619579 61021606882202 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 261130363072944 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 415098329689538 468720065734531 474709775802895 482202506546959 491132347463379 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 32 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 19715171511179 24856945732414 31843273619579 61021606882202 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 415098329689538 468720065734531 474709775802895 482202506546959 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 32 2
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]

4508202 19715171511179 24856945732414 31843273619579 50007584834127 61021606882202 118012025074261 128580266307596 129916455720081 155412585748122 169034150537430 182786161572575 214564717604215 224069828325161 248811020031728 264214093175962 271701083476882 288661503866530 315432402477959 392138614241214 399855904508272 415098329689538 449730786889166 468720065734531 474709775802895 477455006362175 481172623430583 482202506546959 487860752879241 517043510588070 595668015596659 620178966163059 624287298179518 638262628765653 672462142824294 672832307506323 684439512836680 701865353869699 726081603397572 745805727665211 772093664419589 778417488521154
frac 33 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 19715171511179 24856945732414 31843273619579 50007584834127 80256832701175 118012025074261 128580266307596 129916455720081 155412585748122 186770946556223 261130363072944 264214093175962 275644527946852 288661503866530 298165515201666 315432402477959 468720065734531 474709775802895 482202506546959 491132347463379 536512414842115 538838950981844 595668015596659 620178966163059 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 33 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_sgn_def" ) , intExtensionTheory.SGN_def ]
2
4508202 19715171511179 24856945732414 31843273619579 50007584834127 80256832701175 118012025074261 128580266307596 129916455720081 155412585748122 186770946556223 264214093175962 275644527946852 288661503866530 298165515201666 315432402477959 468720065734531 474709775802895 482202506546959 536512414842115 538838950981844 595668015596659 620178966163059 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 33 2
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]

4508202 19715171511179 24856945732414 31843273619579 50007584834127 61021606882202 80256832701175 118012025074261 128580266307596 129916455720081 155412585748122 169034150537430 182786161572575 214564717604215 248811020031728 264214093175962 271701083476882 275644527946852 288661503866530 315432402477959 392138614241214 399855904508272 449730786889166 468720065734531 474709775802895 477455006362175 481172623430583 482202506546959 487860752879241 517043510588070 595668015596659 620178966163059 624287298179518 638262628765653 672462142824294 684439512836680 701865353869699 726081603397572 745805727665211 772093664419589 778417488521154
frac 34 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 19521708359799 19715171511179 24856945732414 31843273619579 50007584834127 61021606882202 80256832701175 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 261130363072944 264214093175962 275644527946852 288661503866530 298165515201666 315432402477959 415098329689538 466580814163002 466723821630746 468720065734531 474709775802895 482202506546959 491132347463379 536512414842115 595668015596659 620178966163059 623653887997492 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 34 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_sgn_def" ) , intExtensionTheory.SGN_def ]
2
4508202 19521708359799 19715171511179 24856945732414 31843273619579 50007584834127 61021606882202 80256832701175 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 264214093175962 275644527946852 288661503866530 298165515201666 315432402477959 415098329689538 466580814163002 466723821630746 468720065734531 474709775802895 482202506546959 536512414842115 595668015596659 620178966163059 623653887997492 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 34 2
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]

4508202 19521708359799 19715171511179 24856945732414 31843273619579 50007584834127 61021606882202 80256832701175 118012025074261 128580266307596 129916455720081 155412585748122 169034150537430 182786161572575 214564717604215 248811020031728 264214093175962 271701083476882 275644527946852 288661503866530 315432402477959 392138614241214 399855904508272 415098329689538 449730786889166 466580814163002 466723821630746 468720065734531 474709775802895 477455006362175 481172623430583 482202506546959 517043510588070 595668015596659 620178966163059 623653887997492 624287298179518 638262628765653 672462142824294 672832307506323 684439512836680 701865353869699 726081603397572 745805727665211 772093664419589 778417488521154
frac 35 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 488848737943 15265796288400 31843273619579 100944459800193 167669532884223 182786161572575 261130363072944 298165515201666 315432402477959 348138392716229 379084366667637 482202506546959 491132347463379 536512414842115 624287298179518 682120692379248 684598813238972 701865353869699
frac 35 1
boolLib.ONCE_REWRITE_TAC [ boolLib.EQ_SYM_EQ ]
2
4508202 488848737943 15265796288400 31843273619579 100944459800193 167669532884223 182786161572575 298165515201666 315432402477959 348138392716229 379084366667637 482202506546959 536512414842115 624287298179518 682120692379248 684598813238972 701865353869699
frac 35 2
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_sub_def" ) , ( DB.fetch "frac" "frac_add_def" ) , ( DB.fetch "frac" "frac_ainv_def" ) ]
3
4508202 488848737943 15265796288400 31843273619579 100944459800193 167669532884223 182786161572575 186770946556223 298165515201666 315432402477959 373108540054266 379084366667637 482202506546959 536512414842115 624287298179518 684598813238972 701865353869699
frac 35 3
boolLib.ONCE_REWRITE_TAC [ boolLib.GSYM ( DB.fetch "frac" "FRAC" ) ]
4
4508202 488848737943 12088386551708 31843273619579 45311495720767 50007584834127 89500895960115 96934438186086 121208154376682 145918149823895 182786161572575 186770946556223 253645064105403 298165515201666 312872164504665 315432402477959 316621618353512 335344845384093 436746517987253 482202506546959 536512414842115 610632033346755 620178966163059 624287298179518 650705801382461 701865353869699
frac 35 4
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 711 24*)frac_dnm f" ] )
5
4508202 488848737943 12088386551708 21238422084364 31101080671807 31843273619579 45311495720767 50007584834127 89500895960115 90053216670501 121208154376682 182786161572575 202465857863366 203507548485542 233182009692076 253645064105403 253837285941516 298165515201666 312872164504665 315432402477959 316621618353512 335344845384093 352574598854018 436746517987253 482202506546959 575890910056601 595025537019636 620178966163059 624287298179518 650705801382461 696175464158974 701865353869699 735059394784798 755278939487044
frac 35 5
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
6
4508187 4508202 488848737928 488848737943 12088386551708 19715171511164 21238422084364 31101080671807 31843273619564 31843273619579 45311495720767 50007584834127 80256832701160 89500895960115 90053216670501 118012025074246 121208154376682 182786161572575 202465857863366 203507548485542 233182009692076 253645064105388 253645064105403 253837285941516 288661503866515 298165515201666 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 352574598854018 436746517987253 468720065734516 482202506546944 482202506546959 575890910056601 595025537019636 595668015596644 620178966163059 624287298179518 650705801382446 650705801382461 696175464158974 701865353869699 727662364694966 735059394784798 755278939487044 778417488521139
frac 35 6
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_sgn_def" ) , intExtensionTheory.SGN_def ]
7
4508187 4508202 488848737928 488848737943 12088386551708 19715171511164 21238422084364 31843273619564 31843273619579 45311495720767 50007584834127 80256832701160 89500895960115 96934438186086 118012025074246 121208154376682 145918149823895 182786161572575 202465857863366 253645064105388 253645064105403 253837285941516 288661503866515 298165515201666 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 358565948333389 436746517987253 468720065734516 482202506546944 482202506546959 575890910056601 595668015596644 620178966163059 624287298179518 650705801382446 650705801382461 701865353869699 727662364694966 735059394784798 778417488521139
frac 35 7
boolLib.SUBST_TAC [ boolLib.UNDISCH_ALL ( HolKernel.SPEC ( Parse.Term [ HolKernel.QUOTE " (*#loc 714 39*)frac_dnm f" ] ) ( HolKernel.SPEC ( Parse.Term [ HolKernel.QUOTE " (*#loc 714 60*)frac_nmr f" ] ) ( DB.fetch "frac" "NMR" ) ) ) ]
8
4508187 4508202 488848737928 488848737943 12088386551708 19715171511164 19715171511179 21238422084364 21733093755943 24856945732414 31843273619564 31843273619579 40187487461687 41344133380992 45311495720767 50007584834127 61021606882202 80256832701160 89500895960115 118012025074246 118012025074261 121208154376682 129916455720081 155412585748122 158929153531565 182786161572575 185060509579118 253645064105388 253645064105403 253837285941516 261041080369127 264214093175962 271701083476882 288661503866515 288661503866530 312872164504665 314756870675109 315432402477944 315432402477959 316621618353512 335344845384093 362837680972062 412971855935047 427638225912253 436746517987253 441744454642697 444676023553067 467225051398399 468720065734516 468720065734531 470890129037099 474709775802895 482202506546944 482202506546959 491108382539279 515884833314095 520288594676216 595668015596644 595668015596659 603349899390958 609625569544873 620178966163059 624287298179518 650705801382446 650705801382461 653174909652120 672462142824294 696175464158974 697433485851782 701865353869699 726081603397572 727662364694966 735059394784798 751959838100868 772093664419589 778417488521139 778417488521154 787625154635551 791511031731725
frac 35 8
boolLib.COND_CASES_TAC

4508187 4508202 488848737928 488848737943 12088386551708 19715171511164 19715171511179 24856945732414 31843273619564 31843273619579 45311495720767 50007584834127 61021606882202 80256832701160 89500895960115 118012025074246 118012025074261 121208154376682 129916455720081 155412585748122 158929153531565 169034150537430 182786161572575 214564717604215 248811020031728 253645064105388 253645064105403 261041080369127 264214093175962 271701083476882 288661503866515 288661503866530 312872164504665 315432402477944 315432402477959 316621618353512 335344845384093 362837680972062 392138614241214 399855904508272 427638225912253 436746517987253 444676023553067 449730786889166 467225051398399 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 491108382539279 517043510588070 520288594676216 595668015596644 595668015596659 609625569544873 620178966163059 624287298179518 638262628765653 650705801382446 650705801382461 653174909652120 672462142824294 696175464158974 701865353869699 703803043309956 726081603397572 727662364694966 745805727665211 751959838100868 772093664419589 778417488521139 778417488521154
frac 36 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 19521708359799 19715171511179 24856945732414 31843273619579 61021606882202 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 261130363072944 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 415098329689538 466580814163002 468720065734531 474709775802895 482202506546959 491132347463379 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 36 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 19521708359799 19715171511179 24856945732414 31843273619579 61021606882202 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 415098329689538 466580814163002 468720065734531 474709775802895 482202506546959 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 36 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 19521708359799 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 415098329689523 415098329689538 466580814163002 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981829 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836665 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 37 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 30530093675625 31843273619579 128580266307596 128585050658157 140610388301844 173803824505344 209516531744281 227020403040669 261130363072944 298165515201666 315432402477959 346251563491756 379345242507543 407815224673109 429019005474178 482202506546959 491132347463379 536512414842115 701865353869699 723156219718416 735765531419765
frac 37 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_mul_def" ) , ( DB.fetch "frac" "frac_sgn_def" ) , intExtensionTheory.SGN_def ]
2
4508202 30530093675625 31843273619579 128580266307596 128585050658157 140610388301844 173803824505344 209516531744281 227020403040669 298165515201666 315432402477959 346251563491756 379345242507543 407815224673109 429019005474178 482202506546959 536512414842115 701865353869699 723156219718416 735765531419765
frac 37 2
let fun FRAC_POS_TAC term1 ( asm_list , goal ) = ( boolLib.ASSUME_TAC ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list term1 ) ) ( asm_list , goal ) in FRAC_POS_TAC end ( Parse.Term [ HolKernel.QUOTE " (*#loc 583 24*)frac_dnm f1 * frac_dnm f2" ] )
3
4508202 19715171511179 24856945732414 30530093675625 31843273619579 32320455356251 41452627882021 50007584834127 61021606882202 89500895960115 118012025074261 128580266307596 128585050658157 129916455720081 150144450791667 155412585748122 169034150537430 182786161572575 214564717604215 227836719762260 235909121094907 248811020031728 250064691258332 253645064105403 264214093175962 271701083476882 274726573148176 277825451440918 288661503866530 289032040915798 312872164504665 315432402477959 335344845384093 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673109 436746517987253 449730786889166 457649026772347 459809111220250 468720065734531 474709775802895 477455006362175 481172623430583 481982748662019 482202506546959 517043510588070 556357350120255 565965984580839 595668015596659 620178966163059 624287298179518 627174593807626 627730091661554 638262628765653 638391251283937 647926678797484 650705801382461 653006787666068 672462142824294 701865353869699 726081603397572 772093664419589 778417488521154
frac 37 3
boolLib.REWRITE_TAC [ boolLib.UNDISCH_ALL ( HolKernel.SPEC ( Parse.Term [ HolKernel.QUOTE " (*#loc 753 41*)frac_dnm f1 * frac_dnm f2" ] ) ( HolKernel.SPEC ( Parse.Term [ HolKernel.QUOTE " (*#loc 753 77*)frac_nmr f1 * frac_nmr f2" ] ) ( DB.fetch "frac" "NMR" ) ) ) ]
4
4508187 4508202 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 32320455356251 41452627882006 41452627882021 50007584834127 61021606882202 80256832701160 89500895960115 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 150144450791667 155412585748122 169034150537430 182786161572575 214564717604215 227836719762260 235909121094907 248811020031728 250064691258332 253645064105388 253645064105403 264214093175962 271701083476882 274726573148176 277825451440918 288661503866515 288661503866530 289032040915798 312872164504665 315432402477944 315432402477959 335344845384093 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 436746517987253 449730786889166 457649026772347 459809111220235 459809111220250 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 481982748662019 482202506546944 482202506546959 517043510588070 556357350120255 565965984580839 595668015596644 595668015596659 620178966163059 624287298179518 627174593807626 627730091661554 638262628765653 638391251283937 647926678797484 650705801382446 650705801382461 653006787666068 664219134578472 672462142824294 701865353869699 726081603397572 772093664419589 778417488521139 778417488521154
frac 37 4
boolLib.ASM_CASES_TAC ( Parse.Term [ HolKernel.QUOTE " (*#loc 754 25*)frac_nmr f1=0i" ] )
5 6
4508187 4508202 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889166 459809111220235 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163059 624287298179518 624808175126547 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 5
boolLib.ASM_CASES_TAC ( Parse.Term [ HolKernel.QUOTE " (*#loc 755 25*)frac_nmr f1 < 0i" ] )
7 8
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 6
BasicProvers.SRW_TAC [ ] [ ]
9 10
4508187 4508202 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889166 459809111220235 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 7
boolLib.ASM_CASES_TAC ( Parse.Term [ HolKernel.QUOTE " (*#loc 756 25*)frac_nmr f2=0i" ] )
11 12
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 8
boolLib.ASM_CASES_TAC ( Parse.Term [ HolKernel.QUOTE " (*#loc 756 25*)frac_nmr f2=0i" ] )
13 14
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 9
BasicProvers.SRW_TAC [ ] [ ]
15 16
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 10
BasicProvers.SRW_TAC [ ] [ ]
17 18
4508187 4508202 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 11
boolLib.ASM_CASES_TAC ( Parse.Term [ HolKernel.QUOTE " (*#loc 757 25*)frac_nmr f2 < 0i" ] )
19 20
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 12
BasicProvers.SRW_TAC [ ] [ ]
21 22
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 13
boolLib.ASM_CASES_TAC ( Parse.Term [ HolKernel.QUOTE " (*#loc 757 25*)frac_nmr f2 < 0i" ] )
23 24
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 14
BasicProvers.SRW_TAC [ ] [ ]
25 26
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 15
BasicProvers.SRW_TAC [ ] [ ]
27 28
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 16
BasicProvers.SRW_TAC [ ] [ ]
29 30
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 17
BasicProvers.SRW_TAC [ ] [ ]
31 32
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 18
bossLib.RW_TAC intLib.int_ss tactictoe_thmlarg
33 34
4508187 4508202 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 19
BasicProvers.SRW_TAC [ ] [ ]
35
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 20
BasicProvers.SRW_TAC [ ] [ ]
36
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 21
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 22
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 23
BasicProvers.SRW_TAC [ ] [ ]
37
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 24
BasicProvers.SRW_TAC [ ] [ ]
38
4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 25
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]

4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 26
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 27
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 28
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 29
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 30
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 31
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 32
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 33
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 19521708359784 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 466580814162987 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 34
BasicProvers.SRW_TAC [ ] [ ]

4508187 4508202 19715171511164 19715171511179 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 41452627882006 50007584834112 50007584834127 61021606882202 80256832701160 118012025074246 118012025074261 128580266307581 128580266307596 128585050658142 128585050658157 129916455720081 155412585748122 169034150537415 169034150537430 174760425084883 176236440835578 182786161572575 214564717604215 224566529351211 248811020031728 253645064105388 264214093175962 271701083476882 288661503866515 288661503866530 315432402477944 315432402477959 379706393906035 381597896956512 382041346530869 383502200655235 392138614241214 399855904508272 407815224673094 407815224673109 449730786889151 449730786889166 459809111220235 468720065734516 468720065734531 474709775802895 477455006362175 481172623430583 482202506546944 482202506546959 501837872111102 517043510588055 517043510588070 526779940180459 572875896459980 583171575647293 595668015596644 595668015596659 620178966163044 620178966163059 624287298179518 624808175126547 638262628765638 638262628765653 647926678797484 650705801382446 664219134578472 672462142824294 693626327742937 695701009892030 701865353869684 701865353869699 726081603397572 769816145568224 772093664419589 778417488521139 778417488521154
frac 37 35
bossLib.PROVE_TAC [ intExtensionTheory.INT_NO_ZERODIV , integerTheory.INT_MUL_SIGN_CASES , integerTheory.INT_LT_GT , integerTheory.INT_LT_TOTAL ]

4508187 19521708359784 19715171511164 30530093675610 31843273619564 41452627882006 50007584834112 80256832701160 118012025074246 128580266307581 128585050658142 169034150537415 208688131165109 253645064105388 288661503866515 315432402477944 379706393906020 382041346530854 407815224673094 449730786889151 459809111220235 466580814162987 468720065734516 482202506546944 517043510588055 595668015596644 620178966163044 624808175126532 634772253538988 638262628765638 647926678797469 650705801382446 664219134578472 701865353869684 778417488521139
frac 37 36
bossLib.PROVE_TAC [ intExtensionTheory.INT_NO_ZERODIV , integerTheory.INT_MUL_SIGN_CASES , integerTheory.INT_LT_GT , integerTheory.INT_LT_TOTAL ]

4508187 19521708359784 19715171511164 30530093675610 31843273619564 41452627882006 50007584834112 80256832701160 118012025074246 128580266307581 128585050658142 169034150537415 208688131165109 253645064105388 288661503866515 315432402477944 379706393906020 382041346530854 407815224673094 449730786889151 459809111220235 466580814162987 468720065734516 482202506546944 517043510588055 595668015596644 620178966163044 624808175126532 634772253538988 638262628765638 647926678797469 650705801382446 664219134578472 701865353869684 778417488521139
frac 37 37
bossLib.PROVE_TAC [ intExtensionTheory.INT_NO_ZERODIV , integerTheory.INT_MUL_SIGN_CASES , integerTheory.INT_LT_GT , integerTheory.INT_LT_TOTAL ]

4508187 19521708359784 19715171511164 30530093675610 31843273619564 41452627882006 50007584834112 80256832701160 118012025074246 128580266307581 128585050658142 169034150537415 208688131165109 253645064105388 288661503866515 315432402477944 379706393906020 382041346530854 407815224673094 449730786889151 459809111220235 466580814162987 468720065734516 482202506546944 517043510588055 595668015596644 620178966163044 624808175126532 634772253538988 638262628765638 647926678797469 650705801382446 664219134578472 701865353869684 778417488521139
frac 37 38
bossLib.PROVE_TAC [ intExtensionTheory.INT_NO_ZERODIV , integerTheory.INT_MUL_SIGN_CASES , integerTheory.INT_LT_GT , integerTheory.INT_LT_TOTAL ]

4508187 19521708359784 19715171511164 30530093675610 31843273619564 41452627882006 50007584834112 80256832701160 118012025074246 128580266307581 128585050658142 169034150537415 208688131165109 253645064105388 288661503866515 315432402477944 379706393906020 382041346530854 407815224673094 449730786889151 459809111220235 466580814162987 468720065734516 482202506546944 517043510588055 595668015596644 620178966163044 624808175126532 634772253538988 638262628765638 647926678797469 650705801382446 664219134578472 701865353869684 778417488521139
frac 38 0
boolLib.GEN_TAC
1
4508202 19521708359799 19715171511179 24856945732414 31843273619579 50007584834127 56598980376619 88177255434300 118012025074261 128580266307596 129916455720081 155412585748122 261130363072944 264214093175962 288661503866530 298165515201666 315432402477959 330012922480994 330248696174232 466580814163002 468720065734531 474709775802895 482202506546959 491132347463379 517043510588070 536512414842115 620178966163059 624287298179518 638262628765653 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154 791394107587914
frac 38 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_sgn_def" ) , intExtensionTheory.SGN_def ]
2
4508202 19521708359799 19715171511179 24856945732414 31843273619579 50007584834127 56598980376619 88177255434300 118012025074261 128580266307596 129916455720081 155412585748122 264214093175962 288661503866530 298165515201666 315432402477959 330012922480994 330248696174232 466580814163002 468720065734531 474709775802895 482202506546959 517043510588070 536512414842115 620178966163059 624287298179518 638262628765653 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154 791394107587914
frac 38 2
BasicProvers.SRW_TAC [ ] [ ]

4508202 19521708359799 19715171511179 24856945732414 31843273619579 50007584834127 61021606882202 118012025074261 128580266307596 129916455720081 155412585748122 169034150537430 182786161572575 214564717604215 248811020031728 264214093175962 271701083476882 288661503866530 315432402477959 330012922480994 338004554648932 392138614241214 399855904508272 449730786889166 458481205621664 466580814163002 468720065734531 474709775802895 477455006362175 481172623430583 482202506546959 517043510588070 595668015596659 620178966163059 624287298179518 638262628765653 672462142824294 673269971570254 684439512836680 701865353869699 726081603397572 772093664419589 778417488521154 791394107587914
frac 39 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
4508202 30530093675625 31843273619579 128580266307596 128585050658157 140610388301844 173803824505344 209516531744281 227020403040669 261130363072944 298165515201666 315432402477959 346251563491756 379345242507543 407815224673109 429019005474178 482202506546959 491132347463379 536512414842115 701865353869699 723156219718416 735765531419765
frac 39 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 30530093675625 31843273619579 128580266307596 128585050658157 140610388301844 173803824505344 209516531744281 227020403040669 298165515201666 315432402477959 346251563491756 379345242507543 407815224673109 429019005474178 482202506546959 536512414842115 701865353869699 723156219718416 735765531419765
frac 39 2
let fun FRAC_NMRDNM_TAC ( asm_list , goal ) = ( ( boolLib.MAP_EVERY ( let fun frac_nmr_tac ( asm_list : term list ) ( nmr , dnm ) = ( boolLib.TRY ( boolLib.SUBST1_TAC ( HolKernel.MP ( boolLib.DISCH_ALL ( let val FRAC_NMR_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "NMR" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMR_CONV" "" in FRAC_NMR_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 323 58*)nmr( abs_frac (" , HolKernel.ANTIQUOTE ( nmr ) , HolKernel.QUOTE " (*#loc 323 77*), " , HolKernel.ANTIQUOTE ( dnm ) , HolKernel.QUOTE " (*#loc 323 83*)) )" ] ) ) ) ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list dnm ) ) ) ) in frac_nmr_tac end asm_list ) ( map ( fn ( rator , nmr , dnm ) => ( nmr , dnm ) ) ( HolKernel.filter ( fn ( a1 , _ , _ ) => a1 sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 354 59*)frac_nmr" ] ) ) ( fracUtils.extract_frac_fun [ ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 39*)frac_nmr" ] ) , ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 52*)frac_dnm" ] ) ] goal ) ) ) sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MAP_EVERY ( let fun frac_dnm_tac ( asm_list : term list ) ( nmr , dnm ) = ( boolLib.TRY ( boolLib.SUBST1_TAC ( HolKernel.MP ( boolLib.DISCH_ALL ( let val FRAC_DNM_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "DNM" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_DNM_CONV" "" in FRAC_DNM_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 337 58*)dnm( abs_frac (" , HolKernel.ANTIQUOTE ( nmr ) , HolKernel.QUOTE " (*#loc 337 77*), " , HolKernel.ANTIQUOTE ( dnm ) , HolKernel.QUOTE " (*#loc 337 83*)) )" ] ) ) ) ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list dnm ) ) ) ) in frac_dnm_tac end asm_list ) ( map ( fn ( rator , nmr , dnm ) => ( nmr , dnm ) ) ( HolKernel.filter ( fn ( a1 , _ , _ ) => a1 sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 356 59*)frac_dnm" ] ) ) ( fracUtils.extract_frac_fun [ ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 39*)frac_nmr" ] ) , ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 52*)frac_dnm" ] ) ] goal ) ) ) sml_infixl0_open boolLib.THEN sml_infixl0_close bossLib.SIMP_TAC intLib.int_ss tactictoe_thmlarg ) ( asm_list , goal ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMRDNM_TAC" "" in FRAC_NMRDNM_TAC end
3
4508202 9808991461981 30530093675625 31843273619579 41452627882021 50007584834127 89500895960115 100861649840252 128580266307596 128585050658157 128784788363216 183411529893061 242486657744151 253645064105403 277825451440918 312872164504665 315432402477959 335344845384093 382041346530869 407815224673109 436746517987253 459809111220250 482202506546959 556357350120255 565965984580839 620178966163059 624287298179518 647926678797484 650705801382461 653006787666068 701865353869699 720209716682405 773074865853592
frac 39 3
bossLib.PROVE_TAC [ intExtensionTheory.INT_SGN_MUL2 ]

4508202 30530093675625 31843273619579 45410895621704 50007584834127 100861649840252 128580266307596 128585050658157 183411529893061 264907533561638 315432402477959 382041346530869 407815224673109 482202506546959 620178966163059 624287298179518 647926678797484 657408550849385 701865353869699 720209716682405 773074865853592
frac 40 0
boolLib.REPEAT boolLib.GEN_TAC
1
4508202 383593025601 19715171511179 24856945732414 31843273619579 61021606882202 101493408634270 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 208688131165109 261130363072944 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 330012922480994 468720065734531 474709775802895 482202506546959 491132347463379 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 674923913801170 684439512836680 701865353869699 772093664419589 778417488521154
frac 40 1
boolLib.ASM_CASES_TAC ( Parse.Term [ HolKernel.QUOTE " (*#loc 809 25*)frac_sgn f1 = ~1" ] )
2 3
4508202 383593025601 19715171511179 24856945732414 31843273619579 61021606882202 101493408634270 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 208688131165109 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 330012922480994 468720065734531 474709775802895 482202506546959 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 40 2
boolLib.ASM_CASES_TAC ( Parse.Term [ HolKernel.QUOTE " (*#loc 810 25*)frac_sgn f1 = 0i" ] )
4 5
4508187 4508202 383593025601 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364936 315432402477944 315432402477959 330012922480994 466580814162987 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521154
frac 40 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
6 7
4508187 4508202 383593025601 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364936 315432402477944 315432402477959 330012922480994 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521154
frac 40 4
boolLib.ASM_CASES_TAC ( Parse.Term [ HolKernel.QUOTE " (*#loc 811 25*)frac_sgn f1 = 1i" ] )
8 9
4508187 4508202 383593025601 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 330012922480994 466580814162987 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 40 5
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
10 11
4508187 4508202 383593025601 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 330012922480994 466580814162987 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 40 6
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
12 13
4508187 4508202 383593025601 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 330012922480994 466580814162987 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 40 7
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
14 15
4508187 4508202 383593025601 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 330012922480994 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 40 8
schneiderUtils.UNDISCH_ALL_TAC
16
4508187 4508202 383593025601 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 330012922480994 466580814162987 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981829 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 40 9
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
17
4508187 4508202 383593025601 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 330012922480994 466580814162987 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981829 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 40 10
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
18
4508187 4508202 383593025601 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 330012922480994 466580814162987 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981829 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 40 11
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
19
4508187 4508202 383593025601 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 330012922480994 466580814162987 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981829 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 40 12
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
20
4508187 4508202 383593025601 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 330012922480994 466580814162987 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981829 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 40 13
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
21
4508187 4508202 383593025601 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 330012922480994 466580814162987 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981829 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 40 14
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
22
4508187 4508202 383593025601 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 330012922480994 466580814162987 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981829 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 40 15
bossLib.RW_TAC intLib.int_ss [ ( DB.fetch "frac" "NMR" ) , ( DB.fetch "frac" "DNM" ) ]
23
4508187 4508202 383593025601 19715171511164 19715171511179 24856945732399 24856945732414 31843273619564 31843273619579 61021606882187 61021606882202 101493408634270 118012025074246 118012025074261 128580266307581 128580266307596 129916455720066 129916455720081 155412585748107 155412585748122 182786161572560 182786161572575 186770946556208 186770946556223 208688131165109 264214093175947 264214093175962 288661503866515 288661503866530 298165515201651 298165515201666 305922181364921 305922181364936 315432402477944 315432402477959 330012922480994 468720065734516 468720065734531 474709775802880 474709775802895 482202506546944 482202506546959 536512414842100 536512414842115 538838950981829 538838950981844 624287298179503 624287298179518 660663592140690 660663592140705 672462142824279 672462142824294 684439512836680 701865353869684 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154
frac 40 16
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508202 383593025601 19521708359799 19715171511179 24856945732414 31843273619579 61021606882202 101493408634270 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 208688131165109 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 330012922480994 466580814163002 468720065734531 474709775802895 482202506546959 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 40 17
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508202 383593025601 19521708359799 19715171511179 24856945732414 31843273619579 61021606882202 101493408634270 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 208688131165109 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 330012922480994 466580814163002 468720065734531 474709775802895 482202506546959 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 40 18
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508202 383593025601 19521708359799 19715171511179 24856945732414 31843273619579 61021606882202 101493408634270 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 208688131165109 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 330012922480994 466580814163002 468720065734531 474709775802895 482202506546959 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 40 19
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508202 383593025601 19521708359799 19715171511179 24856945732414 31843273619579 61021606882202 101493408634270 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 208688131165109 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 330012922480994 466580814163002 468720065734531 474709775802895 482202506546959 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 40 20
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508202 383593025601 19521708359799 19715171511179 24856945732414 31843273619579 61021606882202 101493408634270 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 208688131165109 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 330012922480994 466580814163002 468720065734531 474709775802895 482202506546959 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 40 21
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508202 383593025601 19521708359799 19715171511179 24856945732414 31843273619579 61021606882202 101493408634270 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 208688131165109 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 330012922480994 466580814163002 468720065734531 474709775802895 482202506546959 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 40 22
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508202 383593025601 19521708359799 19715171511179 24856945732414 31843273619579 61021606882202 101493408634270 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 208688131165109 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 330012922480994 466580814163002 468720065734531 474709775802895 482202506546959 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 40 23
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508202 383593025601 19715171511179 24856945732414 31843273619579 61021606882202 101493408634270 118012025074261 128580266307596 129916455720081 155412585748122 182786161572575 186770946556223 208688131165109 264214093175962 288661503866530 298165515201666 305922181364936 315432402477959 330012922480994 468720065734531 474709775802895 482202506546959 536512414842115 538838950981844 624287298179518 660663592140705 672462142824294 684439512836680 701865353869699 772093664419589 778417488521154
frac 41 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
4508202 15265796288400 31843273619579 100944459800193 128580266307596 167669532884223 182786161572575 261130363072944 298165515201666 315432402477959 348138392716229 379084366667637 482202506546959 491132347463379 536512414842115 624287298179518 682120692379248 684598813238972 701865353869699
frac 41 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 15265796288400 31843273619579 100944459800193 128580266307596 167669532884223 182786161572575 298165515201666 315432402477959 348138392716229 379084366667637 482202506546959 536512414842115 624287298179518 682120692379248 684598813238972 701865353869699
frac 41 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
3
4508202 12088386551708 31843273619579 45311495720767 50007584834127 89500895960115 121208154376682 128580266307596 182786161572575 183411529893061 253645064105403 264854117903369 312872164504665 315432402477959 316621618353512 335344845384093 436746517987253 482202506546959 559049892352593 620178966163059 624287298179518 650705801382461 684056068569971 696175464158974 701865353869699 763772376017659 773074865853592
frac 41 3
boolLib.REWRITE_TAC [ intExtensionTheory.SGN_def ]
4
4508202 12088386551708 31843273619579 50007584834127 60613419164896 87734968397439 128580266307596 182786161572575 183411529893061 315432402477959 386174795587396 482202506546959 568991288858044 620178966163059 624287298179518 701865353869699 773074865853592
frac 41 4
boolLib.REWRITE_TAC [ integerTheory.INT_NEG_EQ , integerTheory.INT_NEG_0 ]
5
4508202 12088386551708 19715171511179 24856945732414 31843273619579 46227779099722 50007584834127 61021606882202 118012025074261 128580266307596 129916455720081 155412585748122 169034150537430 177399403543684 182786161572575 214564717604215 221210777143425 248811020031728 264214093175962 271701083476882 288661503866530 306871311980313 315432402477959 392138614241214 393886521543157 395985746741410 399855904508272 449730786889166 467300954169408 468720065734531 474709775802895 477455006362175 481172623430583 482202506546959 517043510588070 536916184950346 552923757954352 595668015596659 620178966163059 624287298179518 638262628765653 648498809711544 672462142824294 681359538566014 687913842725397 701865353869699 706813291890927 726081603397572 772093664419589 778417488521154
frac 41 5
boolLib.SUBGOAL_THEN ( Parse.Term [ HolKernel.QUOTE " (*#loc 826 24*)(~frac_nmr f1 < 0) = (0 < frac_nmr f1)" ] ) boolLib.SUBST1_TAC

4508202 12088386551708 19715171511179 24856945732414 31843273619579 50007584834127 61021606882202 118012025074261 128580266307596 129916455720081 155412585748122 169034150537430 182786161572575 185554455690783 214564717604215 221210777143425 248811020031728 261100540809972 264214093175962 271701083476882 288661503866530 315432402477959 358339522406071 392138614241214 393886521543157 399855904508272 449730786889166 468720065734531 474709775802895 477455006362175 481172623430583 482202506546959 517043510588070 595668015596659 602557296168163 620178966163059 624287298179518 638262628765653 672462142824294 681359538566014 687913842725397 701865353869699 706813291890927 726081603397572 772093664419589 778417488521154
frac 42 0
boolLib.REWRITE_TAC tactictoe_thmlarg
1
167669532884223 197439968983017 305969615533114 379084366667637 626558115983440
frac 42 1
boolLib.BETA_TAC
2
4508202 488848737943 30021848631416 43156659316621 57171926057424 109380208800321 138781548009175 140770512006306 151229381863370 151234166213931 167669532884223 179857892939409 219022189873679 261130363072944 315432402477959 330012922480994 379084366667637 393247374089969 491132347463379 543732674092599 622855569764331 637387629151176 684439512836680 701865353869699 704177836849664 706179577421880
frac 42 2
boolLib.REPEAT boolLib.GEN_TAC
3
4508202 100944459800193 151229381863370 151234166213931 167669532884223 179857892939409 183230676845648 261130363072944 315432402477959 330012922480994 379084366667637 491132347463379 544435126124877 684439512836680 701865353869699 704177836849664 706179577421880
frac 42 3
bossLib.PROVE_TAC tactictoe_thmlarg
4
4508202 100944459800193 151229381863370 151234166213931 167669532884223 179857892939409 183230676845648 315432402477959 330012922480994 379084366667637 544435126124877 684439512836680 701865353869699 704177836849664 706179577421880
frac 42 4
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
5
4508202 12088386551708 45311495720767 50007584834127 89500895960115 121208154376682 151229381863370 151234166213931 179857892939409 182786161572575 213856000279462 253645064105403 312872164504665 315432402477959 316621618353512 330012922480994 335344845384093 436746517987253 482202506546959 571722894133324 620178966163059 624287298179518 650705801382461 684439512836680 701865353869699 704177836849664 706179577421880
frac 42 5
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
6
4508187 4508202 12088386551708 19715171511164 31843273619564 45311495720767 50007584834127 80256832701160 89500895960115 118012025074246 121208154376682 151229381863355 151229381863370 151234166213931 179857892939409 182786161572575 213856000279462 253645064105388 253645064105403 288661503866515 312872164504665 315432402477944 315432402477959 316621618353512 330012922480994 335344845384093 436746517987253 468720065734516 482202506546944 482202506546959 571722894133324 595668015596644 620178966163059 624287298179518 650705801382446 650705801382461 684439512836680 701865353869699 704177836849664 706179577421880 727662364694966 778417488521139
frac 42 6
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
7
4508187 4508202 12088386551708 19715171511164 31843273619564 45311495720767 50007584834127 80256832701160 89500895960115 118012025074246 121208154376682 151229381863355 151229381863370 151234166213916 151234166213931 179857892939409 182786161572575 213856000279462 253645064105388 253645064105403 288661503866515 312872164504665 315432402477944 315432402477959 316621618353512 330012922480994 335344845384093 436746517987253 468720065734516 482202506546944 482202506546959 571722894133324 595668015596644 620178966163059 624287298179518 650705801382446 650705801382461 684439512836680 701865353869699 704177836849664 706179577421880 727662364694966 778417488521139
frac 42 7
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
8
4508187 4508202 12088386551708 19715171511164 31843273619564 31843273619579 50007584834127 80256832701160 101493408634270 118012025074246 151229381863355 151229381863370 151234166213916 151234166213931 179857892939409 182786161572575 253645064105388 253645064105403 288661503866515 297673910116805 315432402477944 315432402477959 330012922480994 468720065734516 482202506546944 482202506546959 520122716064535 552923757954352 595668015596644 620178966163059 624287298179518 650705801382446 650705801382461 684439512836680 701865353869699 704177836849664 706179577421880 723825906340390 727662364694966 778417488521139
frac 42 8
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
9
4508187 4508202 19715171511164 31843273619564 31843273619579 50007584834127 80256832701160 101493408634270 118012025074246 119336918520647 151229381863355 151229381863370 151234166213916 151234166213931 179857892939409 253645064105388 253645064105403 288661503866515 297673910116805 315432402477944 315432402477959 330012922480994 468720065734516 482202506546944 482202506546959 595668015596644 620178966163059 638262628765653 650705801382446 650705801382461 684439512836680 701865353869699 704177836849664 706179577421880 723825906340390 727662364694966 778417488521139
frac 42 9
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 19715171511164 21238422084364 31843273619564 31843273619579 40187487461687 50007584834127 80256832701160 89500895960115 101493408634270 118012025074246 151229381863355 151229381863370 151234166213916 151234166213931 166540731523126 190285778527513 253645064105388 253645064105403 253837285941516 288661503866515 312872164504665 315432402477944 315432402477959 330012922480994 335344845384093 436746517987253 468720065734516 482202506546944 482202506546959 502136208109282 542956266315170 595668015596644 601408415074359 620178966163059 650705801382446 650705801382461 684439512836680 697433485851782 701865353869699 706179577421880 718247828197752 727662364694966 735059394784798 778417488521139
frac 43 0
bossLib.PROVE_TAC tactictoe_thmlarg
1
167669532884223 379084366667637 461899197683066 584843822034856 626558115983440
frac 43 1
boolLib.BETA_TAC
2
4508202 488848737943 574967048041 579751398602 42941773091759 72612329112176 75645247891296 167669532884223 261130363072944 315432402477959 346155407211747 379084366667637 424123975631477 457644544611742 491132347463379 530615908899996 637387629151176 701865353869699 704177836849664 706179577421880 763268126520681
frac 43 2
boolLib.REPEAT boolLib.STRIP_TAC
3
4508202 574967048041 579751398602 100944459800193 167669532884223 261130363072944 315432402477959 379084366667637 457644544611742 491132347463379 701865353869699 704177836849664 706179577421880 741340437344105
frac 43 3
bossLib.PROVE_TAC tactictoe_thmlarg
4
4508202 574967048041 579751398602 100944459800193 167669532884223 261130363072944 315432402477959 379084366667637 457644544611742 701865353869699 704177836849664 706179577421880 741340437344105
frac 43 4
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508202 579751398602 100944459800193 167669532884223 315432402477959 347980617250872 379084366667637 701865353869699 704177836849664 706179577421880 734983697578017
frac 44 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 31843273619579 122288845319881 123547129517424 159063976218742 173779893401362 288661503866530 293294570028156 387060757195317 470570437732793 471942352642310 482202506546959 491132347463379 515583422999237 547886960080431 572123634513504 620178966163059 701865353869699 747964158566254
frac 44 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_save_def" ) ]
2
4508202 31843273619579 122288845319881 123547129517424 159063976218742 173779893401362 288661503866530 387060757195317 470570437732793 482202506546959 515583422999237 547886960080431 572123634513504 620178966163059 701865353869699 747964158566254
frac 44 2
boolLib.ASSUME_TAC ( intLib.ARITH_PROVE ( Parse.Term [ HolKernel.QUOTE " (*#loc 894 35*)0i < &b1 + 1" ] ) )
3
4508202 19715171511179 24856945732414 30530093675625 31843273619579 89500895960115 118012025074261 122288845319881 122796943271108 123547129517424 129916455720081 155412585748122 222769067440727 241882259530168 264214093175962 288661503866530 312872164504665 335344845384093 360983104902347 387060757195317 413806427500023 427272307580403 436746517987253 454510938621653 474709775802895 482202506546959 514761207392538 519705421318807 589487066182642 620178966163059 672462142824294 701865353869699 772093664419589
frac 44 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 80256832701160 89500895960115 118012025074246 118012025074261 122288845319881 122796943271108 123547129517409 123547129517424 129916455720066 129916455720081 155412585748107 155412585748122 222769067440712 222769067440727 241882259530168 264214093175947 264214093175962 288661503866515 288661503866530 312872164504665 335344845384093 360983104902347 387060757195317 413806427500008 413806427500023 427272307580388 427272307580403 436746517987253 454510938621653 468720065734516 474709775802880 474709775802895 482202506546959 514761207392538 519705421318792 519705421318807 589487066182642 595668015596644 620178966163059 672462142824279 672462142824294 701865353869699 772093664419574 772093664419589 778417488521139 791608201888519
frac 45 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 19715171511179 24856945732414 28002253694166 30530093675625 31843273619579 118012025074261 122288845319881 123547129517424 129916455720081 155412585748122 159063976218742 222769067440727 224865366669086 264214093175962 288661503866530 293294570028156 387060757195317 413806427500023 427272307580403 471942352642310 474709775802895 482202506546959 491132347463379 515583422999237 519705421318807 572123634513504 650705801382461 672462142824294 701865353869699 747964158566254 752605955858780 772093664419589
frac 45 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_save_def" ) ]
2
4508202 19715171511179 24856945732414 28002253694166 30530093675625 31843273619579 118012025074261 122288845319881 123547129517424 129916455720081 155412585748122 159063976218742 222769067440727 224865366669086 264214093175962 288661503866530 387060757195317 413806427500023 427272307580403 474709775802895 482202506546959 515583422999237 519705421318807 572123634513504 650705801382461 672462142824294 701865353869699 747964158566254 752605955858780 772093664419589
frac 45 2
boolLib.ASSUME_TAC ( intLib.ARITH_PROVE ( Parse.Term [ HolKernel.QUOTE " (*#loc 894 35*)0i < &b1 + 1" ] ) )
3
4508202 19715171511179 24856945732414 30530093675625 31843273619579 89500895960115 118012025074261 122288845319881 123547129517424 129916455720081 151641596490882 155412585748122 222769067440727 241882259530168 264214093175962 288661503866530 312872164504665 335344845384093 387060757195317 413806427500023 427272307580403 436746517987253 474709775802895 482202506546959 514761207392538 519705421318807 521422057973012 589487066182642 650705801382461 672462142824294 685631830877722 701865353869699 772093664419589
frac 45 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 80256832701160 89500895960115 118012025074246 118012025074261 122288845319881 123547129517409 123547129517424 129916455720066 129916455720081 151641596490882 155412585748107 155412585748122 222769067440712 222769067440727 241882259530168 264214093175947 264214093175962 288661503866515 288661503866530 312872164504665 335344845384093 387060757195317 413806427500008 413806427500023 427272307580388 427272307580403 436746517987253 468720065734516 474709775802880 474709775802895 482202506546959 514761207392538 519705421318792 519705421318807 521422057973012 589487066182642 595668015596644 650705801382461 672462142824279 672462142824294 685631830877722 701865353869699 772093664419574 772093664419589 778417488521139 791608201888519
frac 46 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
19715171511179 118012025074261 176621419497196 185865887404685 244167109205104 288661503866530 315432402477959 468720065734531 572123634513504 578054770240086 688166762285685 701865353869699 706179577421880 747964158566254 778417488521154
frac 46 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
19715171511179 24856945732414 30530093675625 79564420403797 89500895960115 118012025074261 129916455720081 140193276126402 155412585748122 204035811552017 222769067440727 233988776418903 249971824342559 250711303082232 264214093175962 288661503866530 312872164504665 335344845384093 367762499907029 436746517987253 468720065734531 474709775802895 547860724952619 672462142824294 701865353869699 706179577421880 742041138735668 772093664419589 778417488521154
frac 46 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
3 4
4508187 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 79564420403797 80256832701160 89500895960115 118012025074246 118012025074261 123547129517409 129916455720066 129916455720081 140193276126402 155412585748107 155412585748122 204035811552017 222769067440712 222769067440727 233988776418903 249971824342559 250711303082232 264214093175947 264214093175962 288661503866515 288661503866530 312872164504665 335344845384093 367762499907029 413806427500008 427272307580388 436746517987253 468720065734516 468720065734531 474709775802880 474709775802895 519705421318792 547860724952619 595668015596644 672462142824279 672462142824294 701865353869699 706179577421880 742041138735668 772093664419574 772093664419589 778417488521139 778417488521154 791608201888519
frac 46 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 80256832701160 118012025074246 118012025074261 123547129517409 129916455720066 129916455720081 155412585748107 155412585748122 222769067440712 222769067440727 250711303082232 264214093175947 264214093175962 288661503866515 288661503866530 299244246673045 339650339988377 413806427500008 427272307580388 468720065734516 468720065734531 474709775802880 474709775802895 519705421318792 547860724952619 595668015596644 672462142824279 672462142824294 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154 791608201888519
frac 46 4
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 19715171511164 19715171511179 24856945732399 30530093675610 31843273619564 31843273619579 80256832701160 118012025074246 118012025074261 123547129517409 129916455720066 155412585748107 222769067440712 264214093175947 288661503866515 288661503866530 413806427500008 427272307580388 466723821630746 468720065734516 468720065734531 474709775802880 519705421318792 549353655453611 595668015596644 672462142824279 701865353869699 772093664419574 778417488521139 778417488521154 791608201888519
frac 47 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
19715171511179 24856945732414 118012025074261 129916455720081 155412585748122 201925377915374 264214093175962 288661503866530 315432402477959 474709775802895 480845384193237 499954508209683 534663330643163 572123634513504 672462142824294 700902802316100 701865353869699 706179577421880 747964158566254 772093664419589 778417488521154
frac 47 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
19715171511179 24856945732414 30530093675625 77489389076289 89500895960115 118012025074261 129916455720081 155412585748122 222769067440727 250711303082232 264214093175962 288661503866530 312872164504665 330708961490640 335344845384093 386052678541060 389747146319296 402903091135225 436746517987253 468720065734531 474709775802895 547860724952619 672462142824294 701865353869699 706179577421880 772093664419589 778417488521154 780058390216761 790979549364708
frac 47 2
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
3 4
4508187 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 77489389076289 80256832701160 89500895960115 118012025074246 118012025074261 123547129517409 129916455720066 129916455720081 155412585748107 155412585748122 222769067440712 222769067440727 250711303082232 264214093175947 264214093175962 288661503866515 288661503866530 312872164504665 330708961490640 335344845384093 386052678541060 389747146319296 402903091135225 413806427500008 427272307580388 436746517987253 468720065734516 468720065734531 474709775802880 474709775802895 519705421318792 547860724952619 595668015596644 672462142824279 672462142824294 701865353869699 706179577421880 772093664419574 772093664419589 778417488521139 778417488521154 780058390216761 790979549364708 791608201888519
frac 47 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 80256832701160 118012025074246 118012025074261 123547129517409 129916455720066 129916455720081 155412585748107 155412585748122 222769067440712 222769067440727 250711303082232 264214093175947 264214093175962 288661503866515 288661503866530 299244246673045 339650339988377 413806427500008 427272307580388 468720065734516 468720065734531 474709775802880 474709775802895 519705421318792 547860724952619 595668015596644 672462142824279 672462142824294 701865353869699 772093664419574 772093664419589 778417488521139 778417488521154 791608201888519
frac 47 4
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 31843273619564 31843273619579 80256832701160 118012025074246 118012025074261 123547129517409 129916455720066 129916455720081 140669304294773 155412585748107 155412585748122 222769067440712 264214093175947 264214093175962 288661503866515 288661503866530 339650339988377 413806427500008 427272307580388 468720065734516 474709775802880 474709775802895 519705421318792 595668015596644 672462142824279 672462142824294 701865353869699 772093664419574 772093664419589 778417488521139 791608201888519
frac 48 0
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
1
4508202 2572382401226 122288845319881 123547129517424 125341606749488 159063976218742 167669532884223 182786161572575 288661503866530 293294570028156 359857469240332 379084366667637 387060757195317 471942352642310 491132347463379 515583422999237 572123634513504 624287298179518 634867721913050 701865353869699 706179577421880 720325772078087 747964158566254 758702156437644
frac 48 1
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
2
4508202 2572382401226 122288845319881 123547129517424 125341606749488 159063976218742 167669532884223 182786161572575 288661503866530 359857469240332 379084366667637 387060757195317 515583422999237 572123634513504 624287298179518 634867721913050 701865353869699 706179577421880 720325772078087 747964158566254 758702156437644
frac 48 2
boolLib.ASSUME_TAC ( intLib.ARITH_PROVE ( Parse.Term [ HolKernel.QUOTE " (*#loc 894 35*)0i < &b1 + 1" ] ) )
3
4508202 8411045638529 19715171511179 24126505224799 24856945732414 30530093675625 89500895960115 118012025074261 122288845319881 123547129517424 129916455720081 151641596490882 155412585748122 182786161572575 222769067440727 226629451468510 241882259530168 264214093175962 288661503866530 307917096544657 312872164504665 335344845384093 387060757195317 413806427500023 427272307580403 436746517987253 454510938621653 474709775802895 482202506546959 514256734542349 514761207392538 519705421318807 569891273786272 575182420552289 589487066182642 620178966163059 624287298179518 650705801382461 656814667798778 670526029065759 672462142824294 701865353869699 706179577421880 758702156437644 772093664419589
frac 48 3
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 8411045638529 19715171511164 19715171511179 24126505224799 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 80256832701160 89500895960115 118012025074246 118012025074261 122288845319881 123547129517409 123547129517424 129916455720066 129916455720081 151641596490882 155412585748107 155412585748122 182786161572575 222769067440712 222769067440727 226629451468510 241882259530168 264214093175947 264214093175962 288661503866515 288661503866530 307917096544657 312872164504665 335344845384093 387060757195317 413806427500008 413806427500023 427272307580388 427272307580403 436746517987253 454510938621653 468720065734516 474709775802880 474709775802895 482202506546959 514256734542349 514761207392538 519705421318792 519705421318807 569891273786272 575182420552289 589487066182642 595668015596644 620178966163059 624287298179518 650705801382461 656814667798778 670526029065759 672462142824279 672462142824294 701865353869699 706179577421880 758702156437644 772093664419574 772093664419589 778417488521139 791608201888519
frac 49 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 18585852473299 19521708359799 19715171511179 24856945732414 30530093675625 31843273619579 57410356411116 91443262095408 118012025074261 122288845319881 123547129517424 127095143727810 129916455720081 155412585748122 159063976218742 165845834666695 167669532884223 208715714333547 216934458732691 222769067440727 264214093175962 288661503866530 291031862017961 293294570028156 296110285357198 330012922480994 335509212049290 359946554789255 387060757195317 407815224673109 413806427500023 427272307580403 466580814163002 468720065734531 471942352642310 474709775802895 491132347463379 510778579629837 515583422999237 519705421318807 572123634513504 624287298179518 632047398387081 672462142824294 684439512836680 701865353869699 704177836849664 706179577421880 723218851338201 740921526282950 747964158566254 758644385058785 772093664419589 773074865853592 777299798500621 778417488521154 791394107587914
frac 49 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_minv_def" ) , ( DB.fetch "frac" "frac_sgn_def" ) , ( DB.fetch "frac" "frac_save_def" ) ]
2
4508187 4508202 18585852473299 19521708359784 19715171511164 19715171511179 24856945732414 30530093675625 31843273619564 57410356411116 91443262095408 118012025074246 118012025074261 122288845319866 122288845319881 123547129517424 127095143727810 129916455720081 155412585748122 159063976218742 165845834666695 167669532884223 208715714333547 216934458732691 222769067440727 264214093175962 288661503866515 288661503866530 291031862017961 296110285357198 335509212049290 359946554789255 387060757195302 387060757195317 407815224673109 413806427500023 427272307580403 466580814162987 468720065734516 474709775802895 510778579629837 515583422999237 519705421318807 572123634513504 624287298179518 632047398387081 672462142824294 701865353869684 701865353869699 704177836849649 706179577421880 723218851338186 740921526282950 747964158566254 758644385058785 772093664419589 773074865853592 777299798500621 778417488521139 791394107587914
frac 49 2
boolLib.ASSUME_TAC ( intLib.ARITH_PROVE ( Parse.Term [ HolKernel.QUOTE " (*#loc 894 35*)0i < &b1 + 1" ] ) )
3
4508187 4508202 18585852473299 19521708359784 19715171511164 19715171511179 24856945732414 26329274747875 30530093675625 31843273619564 50600126368443 72729869790949 89500895960115 91443262095408 106006334035462 118012025074246 118012025074261 122288845319866 122288845319881 123547129517424 129916455720081 136435370922142 151641596490882 155412585748122 208715714333547 222769067440727 241882259530168 264214093175962 284431509556896 288661503866515 288661503866530 291031862017961 296110285357198 312872164504665 335344845384093 335509212049290 359946554789255 361162697908785 387060757195302 387060757195317 388607853350128 407815224673109 408946778360723 413806427500023 419316019057779 427272307580403 436746517987253 454510938621653 466580814162987 468720065734516 474709775802895 482202506546959 514761207392538 519705421318807 528389140491312 589487066182642 620178966163059 624287298179518 631013778153765 632047398387081 635150157407420 650705801382461 672462142824294 698820585885862 701865353869684 701865353869699 704177836849649 706179577421880 723218851338186 758644385058785 759229769262182 772093664419589 773074865853592 777299798500621 778417488521139 791394107587914
frac 49 3
boolLib.ASSUME_TAC ( intLib.ARITH_PROVE ( Parse.Term [ HolKernel.QUOTE " (*#loc 947 35*)0i < & (Num (ABS a1 - 1)) + 1" ] ) )
4
4508187 4508202 18585852473299 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 26329274747875 30530093675610 30530093675625 31843273619564 50600126368443 72729869790949 80256832701160 89500895960115 91443262095408 106006334035462 118012025074246 118012025074261 122288845319866 122288845319881 123547129517409 123547129517424 129916455720066 129916455720081 136435370922142 151641596490882 155412585748107 155412585748122 208715714333547 222769067440712 222769067440727 241882259530168 264214093175947 264214093175962 284431509556896 288661503866515 288661503866530 291031862017961 296110285357198 312872164504665 335344845384093 335509212049290 359946554789255 361162697908785 387060757195302 387060757195317 388607853350128 407815224673109 408946778360723 413806427500008 413806427500023 419316019057779 427272307580388 427272307580403 436746517987253 454510938621653 466580814162987 468720065734516 474709775802880 474709775802895 482202506546959 514761207392538 519705421318792 519705421318807 528389140491312 589487066182642 595668015596644 620178966163059 624287298179518 631013778153765 632047398387081 635150157407420 650705801382461 672462142824279 672462142824294 698820585885862 701865353869684 701865353869699 704177836849649 706179577421880 723218851338186 758644385058785 759229769262182 772093664419574 772093664419589 773074865853592 777299798500621 778417488521139 791394107587914 791608201888519
frac 49 4
let fun FRAC_NMRDNM_TAC ( asm_list , goal ) = ( ( boolLib.MAP_EVERY ( let fun frac_nmr_tac ( asm_list : term list ) ( nmr , dnm ) = ( boolLib.TRY ( boolLib.SUBST1_TAC ( HolKernel.MP ( boolLib.DISCH_ALL ( let val FRAC_NMR_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "NMR" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMR_CONV" "" in FRAC_NMR_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 323 58*)nmr( abs_frac (" , HolKernel.ANTIQUOTE ( nmr ) , HolKernel.QUOTE " (*#loc 323 77*), " , HolKernel.ANTIQUOTE ( dnm ) , HolKernel.QUOTE " (*#loc 323 83*)) )" ] ) ) ) ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list dnm ) ) ) ) in frac_nmr_tac end asm_list ) ( map ( fn ( rator , nmr , dnm ) => ( nmr , dnm ) ) ( HolKernel.filter ( fn ( a1 , _ , _ ) => a1 sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 354 59*)frac_nmr" ] ) ) ( fracUtils.extract_frac_fun [ ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 39*)frac_nmr" ] ) , ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 52*)frac_dnm" ] ) ] goal ) ) ) sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MAP_EVERY ( let fun frac_dnm_tac ( asm_list : term list ) ( nmr , dnm ) = ( boolLib.TRY ( boolLib.SUBST1_TAC ( HolKernel.MP ( boolLib.DISCH_ALL ( let val FRAC_DNM_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "DNM" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_DNM_CONV" "" in FRAC_DNM_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 337 58*)dnm( abs_frac (" , HolKernel.ANTIQUOTE ( nmr ) , HolKernel.QUOTE " (*#loc 337 77*), " , HolKernel.ANTIQUOTE ( dnm ) , HolKernel.QUOTE " (*#loc 337 83*)) )" ] ) ) ) ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list dnm ) ) ) ) in frac_dnm_tac end asm_list ) ( map ( fn ( rator , nmr , dnm ) => ( nmr , dnm ) ) ( HolKernel.filter ( fn ( a1 , _ , _ ) => a1 sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 356 59*)frac_dnm" ] ) ) ( fracUtils.extract_frac_fun [ ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 39*)frac_nmr" ] ) , ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 52*)frac_dnm" ] ) ] goal ) ) ) sml_infixl0_open boolLib.THEN sml_infixl0_close bossLib.SIMP_TAC intLib.int_ss [ integerTheory.INT_MUL_LID , integerTheory.INT_MUL_RID , integerTheory.INT_MUL_LZERO , integerTheory.INT_MUL_RZERO ] ) ( asm_list , goal ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMRDNM_TAC" "" in FRAC_NMRDNM_TAC end
5
4508187 4508202 18585852473284 18585852473299 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 26329274747875 30530093675610 30530093675625 31843273619564 50600126368443 72729869790949 80256832701160 89500895960115 91443262095393 91443262095408 106006334035462 118012025074246 118012025074261 122288845319866 122288845319881 123547129517409 123547129517424 129916455720066 129916455720081 136435370922142 151641596490882 155412585748107 155412585748122 208715714333547 222769067440712 222769067440727 241882259530168 264214093175947 264214093175962 284431509556881 284431509556896 288661503866515 288661503866530 291031862017961 296110285357183 296110285357198 312872164504665 335344845384093 335509212049275 335509212049290 359946554789240 359946554789255 361162697908785 387060757195302 387060757195317 388607853350128 407815224673109 408946778360708 408946778360723 413806427500008 413806427500023 419316019057779 427272307580388 427272307580403 436746517987253 454510938621653 466580814162987 468720065734516 474709775802880 474709775802895 482202506546959 514761207392538 519705421318792 519705421318807 528389140491312 568162288489617 589487066182642 595668015596644 620178966163059 624287298179503 624287298179518 631013778153765 632047398387066 632047398387081 635150157407420 650705801382461 672462142824279 672462142824294 698820585885847 698820585885862 701865353869684 701865353869699 704177836849649 706179577421880 723218851338186 758644385058785 759229769262182 772093664419574 772093664419589 773074865853592 777299798500606 777299798500621 778417488521139 791394107587899 791394107587914 791608201888519
frac 49 5
let val FRAC_EQ_TAC : fracUtils.tactic = fn ( asm_list , goal ) => ( boolLib.AP_TERM_TAC sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MK_COMB_TAC sml_infixl0_open boolLib.THENL sml_infixl0_close [ boolLib.AP_TERM_TAC , boolLib.ALL_TAC ] ) ( asm_list , goal ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_EQ_TAC" "" in FRAC_EQ_TAC end
6 7
4508187 4508202 18585852473284 18585852473299 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 50600126368443 80256832701160 89500895960115 91443262095393 91443262095408 106006334035462 118012025074246 118012025074261 122288845319866 122288845319881 123547129517409 123547129517424 129916455720066 129916455720081 133053373188304 155412585748107 155412585748122 208715714333547 222769067440712 222769067440727 264214093175947 264214093175962 284431509556881 284431509556896 288661503866515 288661503866530 291031862017961 296110285357183 296110285357198 312872164504665 335344845384093 335509212049275 335509212049290 359946554789240 359946554789255 379124917711258 387060757195302 387060757195317 388607853350128 407815224673109 408946778360708 408946778360723 413806427500008 413806427500023 427272307580388 427272307580403 436746517987253 466580814162987 468720065734516 473152298815688 474709775802880 474709775802895 519705421318792 519705421318807 568162288489617 595668015596644 624287298179503 624287298179518 632047398387066 632047398387081 672462142824279 672462142824294 698820585885847 698820585885862 701865353869684 701865353869699 704177836849649 706179577421880 723218851338186 758644385058785 772093664419574 772093664419589 773074865853592 777299798500606 777299798500621 778417488521139 787970137234892 791394107587899 791394107587914 791608201888519
frac 49 6
bossLib.RW_TAC intLib.int_ss [ intExtensionTheory.SGN_def , boolLib.GSYM integerTheory.INT_EQ_SUB_RADD ]
8
4508187 4508202 18585852473284 18585852473299 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 80256832701160 91443262095393 91443262095408 118012025074246 118012025074261 122288845319866 122288845319881 123547129517409 129916455720066 129916455720081 148589689910134 155412585748107 155412585748122 222769067440712 222769067440727 264214093175947 264214093175962 284431509556881 284431509556896 288661503866515 288661503866530 296110285357183 296110285357198 335509212049275 335509212049290 359946554789240 359946554789255 387060757195302 387060757195317 408946778360708 408946778360723 413806427500008 427272307580388 466580814162987 468720065734516 474709775802880 474709775802895 493400333657911 519705421318792 568162288489617 595668015596644 624287298179503 624287298179518 632047398387066 632047398387081 672462142824279 672462142824294 698820585885847 698820585885862 701865353869684 701865353869699 704177836849649 723218851338186 772093664419574 772093664419589 777299798500606 777299798500621 778417488521139 791394107587899 791394107587914 791608201888519
frac 49 7
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg

4508187 4508202 18585852473284 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 80256832701160 91443262095393 118012025074246 118012025074261 122288845319866 122288845319881 123547129517409 123547129517424 129916455720066 129916455720081 155412585748107 155412585748122 208715714333547 222769067440712 222769067440727 264214093175947 264214093175962 284431509556881 288661503866515 288661503866530 291031862017961 296110285357183 335509212049275 359946554789240 387060757195302 387060757195317 407815224673109 408946778360708 413806427500008 413806427500023 427272307580388 427272307580403 466580814162987 468720065734516 474709775802880 474709775802895 519705421318792 519705421318807 568162288489617 595668015596644 624287298179503 624287298179518 632047398387066 656699716053035 672462142824279 672462142824294 698820585885847 701865353869684 701865353869699 704177836849649 723218851338186 727725867030605 758644385058785 772093664419574 772093664419589 773074865853592 777299798500606 778417488521139 791394107587899 791608201888519
frac 49 8
boolLib.ONCE_REWRITE_TAC [ boolLib.EQ_SYM_EQ ]
9
4508187 4508202 18585852473284 18585852473299 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 80256832701160 91443262095393 91443262095408 118012025074246 118012025074261 122288845319866 122288845319881 123547129517409 129916455720066 129916455720081 155412585748107 155412585748122 222769067440712 264214093175947 264214093175962 284431509556881 288661503866515 288661503866530 296110285357183 296110285357198 335509212049275 335509212049290 359946554789240 359946554789255 387060757195302 387060757195317 402929760515139 408946778360708 408946778360723 413806427500008 427272307580388 466580814162987 468720065734516 474709775802880 474709775802895 519705421318792 551790822304745 568162288489617 595668015596644 624287298179503 624287298179518 632047398387066 632047398387081 672462142824279 672462142824294 698820585885847 701865353869684 701865353869699 704177836849649 723218851338186 772093664419574 772093664419589 777299798500606 777299798500621 778417488521139 791394107587899 791394107587914 791608201888519
frac 49 9
boolLib.REWRITE_TAC [ integerTheory.INT_OF_NUM ]
10
4508187 4508202 18585852473284 18585852473299 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 80256832701160 91443262095393 91443262095408 118012025074246 118012025074261 122288845319866 122288845319881 123547129517409 129916455720066 129916455720081 155412585748107 155412585748122 222769067440712 264214093175947 264214093175962 284431509556881 288661503866515 288661503866530 296110285357183 296110285357198 335509212049275 335509212049290 359946554789240 359946554789255 387060757195302 387060757195317 408946778360708 408946778360723 413806427500008 427272307580388 466580814162987 468720065734516 474709775802880 474709775802895 519705421318792 568162288489617 595668015596644 595847251764263 624287298179503 624287298179518 632047398387066 632047398387081 672462142824279 672462142824294 698820585885847 701865353869684 701865353869699 704177836849649 723218851338186 770197520027881 772093664419574 772093664419589 777299798500606 777299798500621 778417488521139 791394107587899 791394107587914 791608201888519
frac 49 10
intLib.ARITH_TAC

4508187 4508202 18585852473284 18585852473299 19521708359784 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 62873157368358 80256832701160 91443262095393 118012025074246 118012025074261 122288845319866 122288845319881 123547129517409 129916455720066 129916455720081 155412585748107 155412585748122 222769067440712 264214093175947 264214093175962 284431509556881 288661503866515 288661503866530 296110285357183 296110285357198 335509212049275 359946554789240 387060757195302 387060757195317 408946778360708 413806427500008 427272307580388 444281580093405 465912902899348 466580814162987 468720065734516 468720065734531 474709775802880 474709775802895 519705421318792 568162288489617 595668015596644 624287298179503 624287298179518 632047398387066 632047398387081 672462142824279 672462142824294 698820585885847 701865353869684 704177836849649 723218851338186 772093664419574 772093664419589 777299798500606 777299798500621 778417488521139 778417488521154 791394107587899 791394107587914 791608201888519
frac 50 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 19715171511179 30530093675625 79611942844608 112658451894048 118012025074261 122288845319881 122293629670442 123547129517424 123551913867985 140610388301844 159063976218742 161237594348718 176889841827654 183481837603573 211679105956802 222769067440727 266066505326110 288661503866530 293294570028156 315287158685632 319997407189545 387060757195317 407815224673109 412818828973481 427272307580403 429182087939084 442919748696932 471942352642310 491132347463379 512139157605229 515583422999237 568681084200210 569743487380474 572123634513504 585128167865309 623098135386392 630453859570293 638720830078010 662768715199857 698339900079275 701865353869699 706179577421880 722440213267166 724752561071651 747964158566254 764021945605959
frac 50 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_add_def" ) , ( DB.fetch "frac" "frac_save_def" ) ]
2
4508202 19715171511179 30530093675625 79611942844608 112658451894048 118012025074261 122288845319881 122293629670442 123547129517424 123551913867985 140610388301844 159063976218742 161237594348718 176889841827654 183481837603573 211679105956802 222769067440727 266066505326110 288661503866530 315287158685632 319997407189545 387060757195317 407815224673109 412818828973481 427272307580403 429182087939084 442919748696932 512139157605229 515583422999237 568681084200210 569743487380474 572123634513504 585128167865309 623098135386392 630453859570293 638720830078010 662768715199857 698339900079275 701865353869699 706179577421880 722440213267166 724752561071651 747964158566254 764021945605959
frac 50 2
boolLib.ASSUME_TAC ( intLib.ARITH_PROVE ( Parse.Term [ HolKernel.QUOTE " (*#loc 894 35*)0i < &b1 + 1" ] ) )
3
4508202 13054271591121 15687113148518 19715171511179 24856945732414 30530093675625 77662884164827 79611942844608 89500895960115 112658451894048 118012025074261 122288845319881 122293629670442 123547129517424 123551913867985 129916455720081 151641596490882 155412585748122 161237594348718 176889841827654 183481837603573 211679105956802 216831358292732 222769067440727 241882259530168 264214093175962 288661503866530 291992639526427 312872164504665 315287158685632 319997407189545 335344845384093 337517341128143 386233376605104 387060757195317 407815224673109 412818828973481 413806427500023 414312227850422 427272307580403 429182087939084 436308917409623 436746517987253 442919748696932 447131255456445 454510938621653 465598778890940 474709775802895 482202506546959 514761207392538 519705421318807 551461605823069 568681084200210 585128167865309 589487066182642 604332382196652 620178966163059 623098135386392 630453859570293 638720830078010 650705801382461 652358075522912 672462142824294 692702909656377 698339900079275 701865353869699 706179577421880 740895079918806 770525985891258 772093664419589
frac 50 3
boolLib.ASSUME_TAC ( intLib.ARITH_PROVE ( Parse.Term [ HolKernel.QUOTE " (*#loc 976 29*)0i < &b2 + 1" ] ) )
4
4508187 4508202 13054271591121 15687113148518 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 77662884164827 79611942844608 80256832701160 89500895960115 112658451894048 118012025074246 118012025074261 122288845319881 122293629670442 123547129517409 123547129517424 123551913867985 129916455720066 129916455720081 151641596490882 155412585748107 155412585748122 161237594348718 176889841827654 183481837603573 211679105956802 216831358292732 222769067440712 222769067440727 241882259530168 264214093175947 264214093175962 288661503866515 288661503866530 291992639526427 312872164504665 315287158685632 319997407189545 335344845384093 337517341128143 386233376605104 387060757195317 407815224673109 412818828973481 413806427500008 413806427500023 414312227850422 427272307580388 427272307580403 429182087939084 436308917409623 436746517987253 442919748696932 447131255456445 454510938621653 465598778890940 468720065734516 474709775802880 474709775802895 482202506546959 514761207392538 519705421318792 519705421318807 551461605823069 568681084200210 585128167865309 589487066182642 595668015596644 604332382196652 620178966163059 623098135386392 630453859570293 638720830078010 650705801382461 652358075522912 672462142824279 672462142824294 692702909656377 698339900079275 701865353869699 706179577421880 740895079918806 770525985891258 772093664419574 772093664419589 778417488521139 791608201888519
frac 50 4
let fun FRAC_NMRDNM_TAC ( asm_list , goal ) = ( ( boolLib.MAP_EVERY ( let fun frac_nmr_tac ( asm_list : term list ) ( nmr , dnm ) = ( boolLib.TRY ( boolLib.SUBST1_TAC ( HolKernel.MP ( boolLib.DISCH_ALL ( let val FRAC_NMR_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "NMR" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMR_CONV" "" in FRAC_NMR_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 323 58*)nmr( abs_frac (" , HolKernel.ANTIQUOTE ( nmr ) , HolKernel.QUOTE " (*#loc 323 77*), " , HolKernel.ANTIQUOTE ( dnm ) , HolKernel.QUOTE " (*#loc 323 83*)) )" ] ) ) ) ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list dnm ) ) ) ) in frac_nmr_tac end asm_list ) ( map ( fn ( rator , nmr , dnm ) => ( nmr , dnm ) ) ( HolKernel.filter ( fn ( a1 , _ , _ ) => a1 sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 354 59*)frac_nmr" ] ) ) ( fracUtils.extract_frac_fun [ ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 39*)frac_nmr" ] ) , ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 52*)frac_dnm" ] ) ] goal ) ) ) sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MAP_EVERY ( let fun frac_dnm_tac ( asm_list : term list ) ( nmr , dnm ) = ( boolLib.TRY ( boolLib.SUBST1_TAC ( HolKernel.MP ( boolLib.DISCH_ALL ( let val FRAC_DNM_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "DNM" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_DNM_CONV" "" in FRAC_DNM_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 337 58*)dnm( abs_frac (" , HolKernel.ANTIQUOTE ( nmr ) , HolKernel.QUOTE " (*#loc 337 77*), " , HolKernel.ANTIQUOTE ( dnm ) , HolKernel.QUOTE " (*#loc 337 83*)) )" ] ) ) ) ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list dnm ) ) ) ) in frac_dnm_tac end asm_list ) ( map ( fn ( rator , nmr , dnm ) => ( nmr , dnm ) ) ( HolKernel.filter ( fn ( a1 , _ , _ ) => a1 sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 356 59*)frac_dnm" ] ) ) ( fracUtils.extract_frac_fun [ ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 39*)frac_nmr" ] ) , ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 52*)frac_dnm" ] ) ] goal ) ) ) sml_infixl0_open boolLib.THEN sml_infixl0_close bossLib.SIMP_TAC intLib.int_ss tactictoe_thmlarg ) ( asm_list , goal ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMRDNM_TAC" "" in FRAC_NMRDNM_TAC end
5
4508187 4508202 13054271591121 15687113148518 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 77662884164827 79611942844608 80256832701160 89500895960115 112658451894048 118012025074246 118012025074261 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 129916455720066 129916455720081 151641596490882 155412585748107 155412585748122 161237594348718 176889841827654 183481837603573 211679105956802 216831358292732 222769067440712 222769067440727 241882259530168 264214093175947 264214093175962 288661503866515 288661503866530 291992639526427 312872164504665 315287158685632 319997407189545 335344845384093 337517341128143 386233376605104 387060757195317 407815224673109 412818828973481 413806427500008 413806427500023 414312227850422 427272307580388 427272307580403 429182087939084 436308917409623 436746517987253 442919748696932 447131255456445 454510938621653 465598778890940 468720065734516 474709775802880 474709775802895 482202506546959 514761207392538 519705421318792 519705421318807 551461605823069 568681084200210 585128167865309 589487066182642 595668015596644 604332382196652 620178966163059 623098135386392 630453859570293 638720830078010 650705801382461 652358075522912 672462142824279 672462142824294 692702909656377 698339900079275 701865353869699 706179577421880 740895079918806 770525985891258 772093664419574 772093664419589 778417488521139 791608201888519
frac 50 5
let val FRAC_EQ_TAC : fracUtils.tactic = fn ( asm_list , goal ) => ( boolLib.AP_TERM_TAC sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MK_COMB_TAC sml_infixl0_open boolLib.THENL sml_infixl0_close [ boolLib.AP_TERM_TAC , boolLib.ALL_TAC ] ) ( asm_list , goal ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_EQ_TAC" "" in FRAC_EQ_TAC end
6 7
4508187 4508202 7794929125887 19333531955579 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 52427283224070 74802933024922 77662884164827 79611942844608 80256832701160 89500895960115 91650680946228 102323059119058 112658451894048 118012025074246 118012025074261 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 129916455720066 129916455720081 155412585748107 155412585748122 161237594348718 176889841827654 205669089544078 211679105956802 222769067440712 222769067440727 264214093175947 264214093175962 288661503866515 288661503866530 312872164504665 315287158685632 319997407189545 329535990256445 335344845384093 387060757195317 407815224673109 412818828973481 413806427500008 413806427500023 427272307580388 427272307580403 429182087939084 436746517987253 468720065734516 469249352264967 474709775802880 474709775802895 502026024071860 519705421318792 519705421318807 568681084200210 580253557868715 585128167865309 595668015596644 628505690856995 630453859570293 634043296973417 672462142824279 672462142824294 693296756314463 698339900079275 701865353869699 706179577421880 758065991294802 768908188681899 772093664419574 772093664419589 778417488521139 781412858046196 784093652861525 791608201888519
frac 50 6
let fun FRAC_NMRDNM_TAC ( asm_list , goal ) = ( ( boolLib.MAP_EVERY ( let fun frac_nmr_tac ( asm_list : term list ) ( nmr , dnm ) = ( boolLib.TRY ( boolLib.SUBST1_TAC ( HolKernel.MP ( boolLib.DISCH_ALL ( let val FRAC_NMR_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "NMR" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMR_CONV" "" in FRAC_NMR_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 323 58*)nmr( abs_frac (" , HolKernel.ANTIQUOTE ( nmr ) , HolKernel.QUOTE " (*#loc 323 77*), " , HolKernel.ANTIQUOTE ( dnm ) , HolKernel.QUOTE " (*#loc 323 83*)) )" ] ) ) ) ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list dnm ) ) ) ) in frac_nmr_tac end asm_list ) ( map ( fn ( rator , nmr , dnm ) => ( nmr , dnm ) ) ( HolKernel.filter ( fn ( a1 , _ , _ ) => a1 sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 354 59*)frac_nmr" ] ) ) ( fracUtils.extract_frac_fun [ ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 39*)frac_nmr" ] ) , ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 52*)frac_dnm" ] ) ] goal ) ) ) sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MAP_EVERY ( let fun frac_dnm_tac ( asm_list : term list ) ( nmr , dnm ) = ( boolLib.TRY ( boolLib.SUBST1_TAC ( HolKernel.MP ( boolLib.DISCH_ALL ( let val FRAC_DNM_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "DNM" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_DNM_CONV" "" in FRAC_DNM_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 337 58*)dnm( abs_frac (" , HolKernel.ANTIQUOTE ( nmr ) , HolKernel.QUOTE " (*#loc 337 77*), " , HolKernel.ANTIQUOTE ( dnm ) , HolKernel.QUOTE " (*#loc 337 83*)) )" ] ) ) ) ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list dnm ) ) ) ) in frac_dnm_tac end asm_list ) ( map ( fn ( rator , nmr , dnm ) => ( nmr , dnm ) ) ( HolKernel.filter ( fn ( a1 , _ , _ ) => a1 sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 356 59*)frac_dnm" ] ) ) ( fracUtils.extract_frac_fun [ ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 39*)frac_nmr" ] ) , ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 52*)frac_dnm" ] ) ] goal ) ) ) sml_infixl0_open boolLib.THEN sml_infixl0_close bossLib.SIMP_TAC intLib.int_ss tactictoe_thmlarg ) ( asm_list , goal ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMRDNM_TAC" "" in FRAC_NMRDNM_TAC end

4508187 4508202 3303822852396 19333531955579 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 74802933024922 80256832701160 102323059119058 106125890861531 118012025074246 118012025074261 123547129517409 123547129517424 123551913867970 123551913867985 129916455720066 129916455720081 155412585748107 155412585748122 205669089544078 222769067440712 222769067440727 264214093175947 264214093175962 288661503866515 288661503866530 315287158685632 407815224673109 412818828973481 413806427500008 413806427500023 427272307580388 427272307580403 468720065734516 474709775802880 474709775802895 502026024071860 519705421318792 519705421318807 568681084200210 580253557868715 585128167865309 595668015596644 672462142824279 672462142824294 698339900079275 701865353869699 758065991294802 768908188681899 772093664419574 772093664419589 778417488521139 791608201888519
frac 50 7
bossLib.SIMP_TAC ( bossLib.srw_ss ( ) ) [ integerTheory.INT_LDISTRIB , integerTheory.INT_RDISTRIB , boolLib.GSYM integerTheory.INT_ADD , bossLib.AC integerTheory.INT_ADD_COMM integerTheory.INT_ADD_ASSOC ]

4508187 4508202 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 52427283224070 79611942844608 80256832701160 80540861183917 112658451894048 118012025074246 118012025074261 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 129916455720066 129916455720081 155412585748107 155412585748122 161237594348718 176889841827654 211679105956802 222769067440712 222769067440727 264214093175947 264214093175962 288661503866515 288661503866530 319997407189545 329535990256445 387060757195317 407815224673109 413806427500008 413806427500023 427272307580388 427272307580403 429182087939084 468720065734516 474709775802880 474709775802895 519705421318792 519705421318807 595668015596644 628505690856995 630453859570293 672462142824279 672462142824294 675186223408402 701865353869699 772093664419574 772093664419589 778417488521139 791608201888519
frac 51 0
boolLib.REPEAT boolLib.STRIP_TAC
1
4508202 1741268962854 30530093675625 122288845319881 122293629670442 123547129517424 123551913867985 140610388301844 159063976218742 183481837603573 288661503866530 293294570028156 315287158685632 344205708257225 387060757195317 407815224673109 412818828973481 429019005474178 442919748696932 471942352642310 479762544125610 491132347463379 515583422999237 562989155243407 566447628304776 568681084200210 572123634513504 585128167865309 623098135386392 630453859570293 638720830078010 648738081063580 698339900079275 701865353869699 706179577421880 747964158566254 775977301079935
frac 51 1
boolLib.REWRITE_TAC [ ( DB.fetch "frac" "frac_mul_def" ) , ( DB.fetch "frac" "frac_save_def" ) ]
2
4508202 1741268962854 30530093675625 122288845319881 122293629670442 123547129517424 123551913867985 140610388301844 159063976218742 183481837603573 288661503866530 315287158685632 344205708257225 387060757195317 407815224673109 412818828973481 429019005474178 442919748696932 479762544125610 515583422999237 562989155243407 566447628304776 568681084200210 572123634513504 585128167865309 623098135386392 630453859570293 638720830078010 648738081063580 698339900079275 701865353869699 706179577421880 747964158566254 775977301079935
frac 51 2
boolLib.ASSUME_TAC ( intLib.ARITH_PROVE ( Parse.Term [ HolKernel.QUOTE " (*#loc 894 35*)0i < &b1 + 1" ] ) )
3
4508202 12380936833986 13054271591121 15687113148518 19715171511179 24856945732414 30530093675625 48506140754541 89500895960115 118012025074261 122288845319881 122293629670442 123547129517424 123551913867985 129916455720081 151641596490882 155412585748122 183481837603573 222769067440727 241320320263442 241882259530168 264214093175962 288661503866530 312872164504665 315287158685632 335344845384093 337517341128143 344205708257225 370164516472104 383755378013420 386233376605104 387060757195317 407815224673109 412818828973481 413806427500023 414312227850422 427272307580403 436308917409623 436746517987253 442919748696932 448206442131089 454510938621653 474709775802895 482202506546959 514761207392538 519705421318807 568681084200210 572427345027578 585128167865309 589487066182642 619879796267456 620178966163059 623098135386392 630453859570293 638720830078010 650705801382461 672462142824294 698339900079275 701865353869699 706179577421880 758565852236460 772093664419589
frac 51 3
boolLib.ASSUME_TAC ( intLib.ARITH_PROVE ( Parse.Term [ HolKernel.QUOTE " (*#loc 976 29*)0i < &b2 + 1" ] ) )
4
4508187 4508202 12380936833986 13054271591121 15687113148518 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 48506140754541 80256832701160 89500895960115 118012025074246 118012025074261 122288845319881 122293629670442 123547129517409 123547129517424 123551913867985 129916455720066 129916455720081 151641596490882 155412585748107 155412585748122 183481837603573 222769067440712 222769067440727 241320320263442 241882259530168 264214093175947 264214093175962 288661503866515 288661503866530 312872164504665 315287158685632 335344845384093 337517341128143 344205708257225 370164516472104 383755378013420 386233376605104 387060757195317 407815224673109 412818828973481 413806427500008 413806427500023 414312227850422 427272307580388 427272307580403 436308917409623 436746517987253 442919748696932 448206442131089 454510938621653 468720065734516 474709775802880 474709775802895 482202506546959 514761207392538 519705421318792 519705421318807 568681084200210 572427345027578 585128167865309 589487066182642 595668015596644 619879796267456 620178966163059 623098135386392 630453859570293 638720830078010 650705801382461 672462142824279 672462142824294 698339900079275 701865353869699 706179577421880 758565852236460 772093664419574 772093664419589 778417488521139 791608201888519
frac 51 4
let fun FRAC_NMRDNM_TAC ( asm_list , goal ) = ( ( boolLib.MAP_EVERY ( let fun frac_nmr_tac ( asm_list : term list ) ( nmr , dnm ) = ( boolLib.TRY ( boolLib.SUBST1_TAC ( HolKernel.MP ( boolLib.DISCH_ALL ( let val FRAC_NMR_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "NMR" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMR_CONV" "" in FRAC_NMR_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 323 58*)nmr( abs_frac (" , HolKernel.ANTIQUOTE ( nmr ) , HolKernel.QUOTE " (*#loc 323 77*), " , HolKernel.ANTIQUOTE ( dnm ) , HolKernel.QUOTE " (*#loc 323 83*)) )" ] ) ) ) ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list dnm ) ) ) ) in frac_nmr_tac end asm_list ) ( map ( fn ( rator , nmr , dnm ) => ( nmr , dnm ) ) ( HolKernel.filter ( fn ( a1 , _ , _ ) => a1 sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 354 59*)frac_nmr" ] ) ) ( fracUtils.extract_frac_fun [ ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 39*)frac_nmr" ] ) , ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 52*)frac_dnm" ] ) ] goal ) ) ) sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MAP_EVERY ( let fun frac_dnm_tac ( asm_list : term list ) ( nmr , dnm ) = ( boolLib.TRY ( boolLib.SUBST1_TAC ( HolKernel.MP ( boolLib.DISCH_ALL ( let val FRAC_DNM_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "DNM" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_DNM_CONV" "" in FRAC_DNM_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 337 58*)dnm( abs_frac (" , HolKernel.ANTIQUOTE ( nmr ) , HolKernel.QUOTE " (*#loc 337 77*), " , HolKernel.ANTIQUOTE ( dnm ) , HolKernel.QUOTE " (*#loc 337 83*)) )" ] ) ) ) ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list dnm ) ) ) ) in frac_dnm_tac end asm_list ) ( map ( fn ( rator , nmr , dnm ) => ( nmr , dnm ) ) ( HolKernel.filter ( fn ( a1 , _ , _ ) => a1 sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 356 59*)frac_dnm" ] ) ) ( fracUtils.extract_frac_fun [ ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 39*)frac_nmr" ] ) , ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 52*)frac_dnm" ] ) ] goal ) ) ) sml_infixl0_open boolLib.THEN sml_infixl0_close bossLib.SIMP_TAC intLib.int_ss tactictoe_thmlarg ) ( asm_list , goal ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMRDNM_TAC" "" in FRAC_NMRDNM_TAC end
5
4508187 4508202 12380936833986 13054271591121 15687113148518 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 48506140754541 80256832701160 89500895960115 118012025074246 118012025074261 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 129916455720066 129916455720081 151641596490882 155412585748107 155412585748122 183481837603573 222769067440712 222769067440727 241320320263442 241882259530168 264214093175947 264214093175962 288661503866515 288661503866530 312872164504665 315287158685632 335344845384093 337517341128143 344205708257225 370164516472104 383755378013420 386233376605104 387060757195317 407815224673109 412818828973481 413806427500008 413806427500023 414312227850422 427272307580388 427272307580403 436308917409623 436746517987253 442919748696932 448206442131089 454510938621653 468720065734516 474709775802880 474709775802895 482202506546959 514761207392538 519705421318792 519705421318807 568681084200210 572427345027578 585128167865309 589487066182642 595668015596644 619879796267456 620178966163059 623098135386392 630453859570293 638720830078010 650705801382461 672462142824279 672462142824294 698339900079275 701865353869699 706179577421880 758565852236460 772093664419574 772093664419589 778417488521139 791608201888519
frac 51 5
let val FRAC_EQ_TAC : fracUtils.tactic = fn ( asm_list , goal ) => ( boolLib.AP_TERM_TAC sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MK_COMB_TAC sml_infixl0_open boolLib.THENL sml_infixl0_close [ boolLib.AP_TERM_TAC , boolLib.ALL_TAC ] ) ( asm_list , goal ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_EQ_TAC" "" in FRAC_EQ_TAC end
6 7
4508187 4508202 19333531955579 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 74802933024922 80256832701160 83249835951541 89500895960115 102323059119058 118012025074246 118012025074261 122288845319881 122293629670442 123547129517409 123547129517424 123551913867970 123551913867985 129916455720066 129916455720081 155412585748107 155412585748122 200642434915060 205669089544078 222769067440712 222769067440727 241320320263442 264214093175947 264214093175962 288661503866515 288661503866530 312872164504665 315287158685632 335344845384093 344205708257225 387060757195317 407815224673109 412818828973481 413806427500008 413806427500023 415824052976404 427272307580388 427272307580403 436746517987253 465765634665071 468720065734516 474709775802880 474709775802895 502026024071860 519705421318792 519705421318807 568681084200210 580253557868715 585128167865309 595668015596644 630453859570293 672462142824279 672462142824294 675904419554612 698339900079275 701865353869699 706179577421880 758065991294802 766848773477665 768908188681899 772093664419574 772093664419589 778417488521139 791608201888519
frac 51 6
BasicProvers.SRW_TAC [ ] tactictoe_thmlarg
8
4508187 4508202 3303822852396 19333531955579 19715171511164 19715171511179 24856945732399 24856945732414 30530093675610 30530093675625 31843273619564 31843273619579 74802933024922 80256832701160 102323059119058 106125890861531 118012025074246 118012025074261 123547129517409 123547129517424 123551913867970 123551913867985 129916455720066 129916455720081 155412585748107 155412585748122 205669089544078 222769067440712 222769067440727 264214093175947 264214093175962 288661503866515 288661503866530 315287158685632 407815224673109 412818828973481 413806427500008 413806427500023 427272307580388 427272307580403 468720065734516 474709775802880 474709775802895 502026024071860 519705421318792 519705421318807 568681084200210 580253557868715 585128167865309 595668015596644 672462142824279 672462142824294 698339900079275 701865353869699 758065991294802 768908188681899 772093664419574 772093664419589 778417488521139 791608201888519
frac 51 7
bossLib.SIMP_TAC ( bossLib.srw_ss ( ) ) [ integerTheory.INT_LDISTRIB , integerTheory.INT_RDISTRIB , boolLib.GSYM integerTheory.INT_ADD , bossLib.AC integerTheory.INT_ADD_COMM integerTheory.INT_ADD_ASSOC ]

4508187 4508202 19715171511164 24856945732399 30530093675610 30530093675625 31843273619564 31843273619579 60952161269709 80256832701160 118012025074246 122288845319881 122293629670442 123547129517409 123551913867970 129916455720066 155412585748107 222769067440712 264214093175947 288661503866515 344205708257225 387060757195317 407815224673109 413806427500008 414906742377808 427272307580388 468720065734516 474709775802880 519705421318792 595668015596644 630453859570293 672462142824279 701865353869699 772093664419574 778417488521139 791608201888519
frac 51 8
let fun FRAC_NMRDNM_TAC ( asm_list , goal ) = ( ( boolLib.MAP_EVERY ( let fun frac_nmr_tac ( asm_list : term list ) ( nmr , dnm ) = ( boolLib.TRY ( boolLib.SUBST1_TAC ( HolKernel.MP ( boolLib.DISCH_ALL ( let val FRAC_NMR_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "NMR" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMR_CONV" "" in FRAC_NMR_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 323 58*)nmr( abs_frac (" , HolKernel.ANTIQUOTE ( nmr ) , HolKernel.QUOTE " (*#loc 323 77*), " , HolKernel.ANTIQUOTE ( dnm ) , HolKernel.QUOTE " (*#loc 323 83*)) )" ] ) ) ) ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list dnm ) ) ) ) in frac_nmr_tac end asm_list ) ( map ( fn ( rator , nmr , dnm ) => ( nmr , dnm ) ) ( HolKernel.filter ( fn ( a1 , _ , _ ) => a1 sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 354 59*)frac_nmr" ] ) ) ( fracUtils.extract_frac_fun [ ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 39*)frac_nmr" ] ) , ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 52*)frac_dnm" ] ) ] goal ) ) ) sml_infixl0_open boolLib.THEN sml_infixl0_close boolLib.MAP_EVERY ( let fun frac_dnm_tac ( asm_list : term list ) ( nmr , dnm ) = ( boolLib.TRY ( boolLib.SUBST1_TAC ( HolKernel.MP ( boolLib.DISCH_ALL ( let val FRAC_DNM_CONV : fracUtils.conv = fn term => ( boolLib.UNDISCH_ALL ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in b end ( HolKernel.SPEC let val ( a , b ) = pairTheory.dest_pair let val ( abs , args ) = HolKernel.dest_comb let val ( nmr , f ) = HolKernel.dest_comb term in f end in args end in a end ( ( DB.fetch "frac" "DNM" ) ) ) ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_DNM_CONV" "" in FRAC_DNM_CONV end ( Parse.Term [ HolKernel.QUOTE " (*#loc 337 58*)dnm( abs_frac (" , HolKernel.ANTIQUOTE ( nmr ) , HolKernel.QUOTE " (*#loc 337 77*), " , HolKernel.ANTIQUOTE ( dnm ) , HolKernel.QUOTE " (*#loc 337 83*)) )" ] ) ) ) ( let fun frac_pos_conv ( asm_list : term list ) ( t1 : term ) = if boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 13*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 21*)" ] ) asm_list then HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 182 47*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 182 55*)" ] ) else if HolKernel.is_comb t1 then ( if intSyntax.is_mult t1 then ( boolLib.LIST_MP [ ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end ) , ( frac_pos_conv asm_list let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ) ] ( boolLib.SPECL [ let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac1 end , let val ( fac1 , fac2 ) = intSyntax.dest_mult t1 in fac2 end ] intExtensionTheory.INT_MUL_POS_SIGN ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 196 28*)frac_dnm" ] ) then HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ( ( DB.fetch "frac" "FRAC_DNMPOS" ) ) else if let val ( rator , rand ) = HolKernel.dest_comb t1 in rator end sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 28*)ABS" ] ) andalso boolLib.tmem ( Parse.Term [ HolKernel.QUOTE " (*#loc 197 49*)~(" , HolKernel.ANTIQUOTE ( let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end ) , HolKernel.QUOTE " (*#loc 197 56*) = 0)" ] ) asm_list then boolLib.UNDISCH ( HolKernel.SPEC let val ( rator , rand ) = HolKernel.dest_comb t1 in rand end intExtensionTheory.INT_ABS_NOT0POS ) else if intSyntax.is_int_literal t1 then boolLib.EQT_ELIM ( intLib.ARITH_CONV ( Parse.Term [ HolKernel.QUOTE " (*#loc 199 63*)0 < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 199 70*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 200 23*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 200 31*)" ] ) ) else HolKernel.ASSUME ( Parse.Term [ HolKernel.QUOTE " (*#loc 203 16*)0i < " , HolKernel.ANTIQUOTE ( t1 ) , HolKernel.QUOTE " (*#loc 203 24*)" ] ) in frac_pos_conv end asm_list dnm ) ) ) ) in frac_dnm_tac end asm_list ) ( map ( fn ( rator , nmr , dnm ) => ( nmr , dnm ) ) ( HolKernel.filter ( fn ( a1 , _ , _ ) => a1 sml_infixl0_open boolLib.~~ sml_infixl0_close ( Parse.Term [ HolKernel.QUOTE " (*#loc 356 59*)frac_dnm" ] ) ) ( fracUtils.extract_frac_fun [ ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 39*)frac_nmr" ] ) , ( Parse.Term [ HolKernel.QUOTE " (*#loc 352 52*)frac_dnm" ] ) ] goal ) ) ) sml_infixl0_open boolLib.THEN sml_infixl0_close bossLib.SIMP_TAC intLib.int_ss tactictoe_thmlarg ) ( asm_list , goal ) ) handle HolKernel.HOL_ERR _ => raise ( HolKernel.mk_HOL_ERR "fracScript" ) "FRAC_NMRDNM_TAC" "" in FRAC_NMRDNM_TAC end

4508187 4508202 19715171511164 24856945732399 30530093675610 31843273619564 39680262060659 80256832701160 105994634813899 118012025074246 123547129517409 123547129517424 123551913867970 123551913867985 129916455720066 129916455720081 155412585748107 155412585748122 205669089544078 222769067440712 232674762621370 264214093175947 264214093175962 288661503866515 288661503866530 314730298388425 315287158685632 412818828973481 413806427500008 427272307580388 468720065734516 474709775802880 474709775802895 502026024071860 519705421318792 531497668235009 568681084200210 585128167865309 587688456885360 595668015596644 605993221773287 672462142824279 672462142824294 675930537270940 698339900079275 701865353869699 758065991294802 772093664419574 772093664419589 778417488521139 791608201888519
