@@ -892,31 +892,31 @@ def test_all_path_reachability_prove(
892
892
expected_leaf_number : int ,
893
893
tmp_path_factory : TempPathFactory ,
894
894
) -> None :
895
- with tmp_path_factory .mktemp (f'apr_tmp_proofs-{ test_id } ' ) as proof_dir :
896
- spec_modules = kprove .get_claim_modules (Path (spec_file ), spec_module_name = spec_module )
897
- spec_label = f'{ spec_module } .{ claim_id } '
898
- proofs = APRProof .from_spec_modules (
899
- kprove .definition ,
900
- spec_modules ,
901
- spec_labels = [spec_label ],
902
- logs = {},
903
- proof_dir = proof_dir ,
904
- )
905
- proof = single ([p for p in proofs if p .id == spec_label ])
906
- if admit_deps :
907
- for subproof in proof .subproofs :
908
- subproof .admit ()
909
- subproof .write_proof_data ()
895
+ proof_dir = tmp_path_factory .mktemp (f'apr_tmp_proofs-{ test_id } ' )
896
+ spec_modules = kprove .get_claim_modules (Path (spec_file ), spec_module_name = spec_module )
897
+ spec_label = f'{ spec_module } .{ claim_id } '
898
+ proofs = APRProof .from_spec_modules (
899
+ kprove .definition ,
900
+ spec_modules ,
901
+ spec_labels = [spec_label ],
902
+ logs = {},
903
+ proof_dir = proof_dir ,
904
+ )
905
+ proof = single ([p for p in proofs if p .id == spec_label ])
906
+ if admit_deps :
907
+ for subproof in proof .subproofs :
908
+ subproof .admit ()
909
+ subproof .write_proof_data ()
910
910
911
- prover = APRProver (kcfg_explore = kcfg_explore , execute_depth = max_depth , cut_point_rules = cut_rules )
912
- prover .advance_proof (proof , max_iterations = max_iterations )
911
+ prover = APRProver (kcfg_explore = kcfg_explore , execute_depth = max_depth , cut_point_rules = cut_rules )
912
+ prover .advance_proof (proof , max_iterations = max_iterations )
913
913
914
- kcfg_show = KCFGShow (kprove , node_printer = APRProofNodePrinter (proof , kprove , full_printer = True ))
915
- cfg_lines = kcfg_show .show (proof .kcfg )
916
- _LOGGER .info ('\n ' .join (cfg_lines ))
914
+ kcfg_show = KCFGShow (kprove , node_printer = APRProofNodePrinter (proof , kprove , full_printer = True ))
915
+ cfg_lines = kcfg_show .show (proof .kcfg )
916
+ _LOGGER .info ('\n ' .join (cfg_lines ))
917
917
918
- assert proof .status == proof_status
919
- assert leaf_number (proof ) == expected_leaf_number
918
+ assert proof .status == proof_status
919
+ assert leaf_number (proof ) == expected_leaf_number
920
920
921
921
def test_terminal_node_subsumption (
922
922
self ,
@@ -929,24 +929,24 @@ def test_terminal_node_subsumption(
929
929
spec_module : str = 'IMP-SIMPLE-SPEC'
930
930
claim_id : str = 'terminal-node-subsumption'
931
931
cut_rules : Iterable [str ] = []
932
- with tmp_path_factory .mktemp (f'apr_tmp_proofs-{ test_id } ' ) as proof_dir :
933
- spec_modules = kprove .get_claim_modules (Path (spec_file ), spec_module_name = spec_module )
934
- spec_label = f'{ spec_module } .{ claim_id } '
935
- proofs = APRProof .from_spec_modules (
936
- kprove .definition ,
937
- spec_modules ,
938
- spec_labels = [spec_label ],
939
- logs = {},
940
- proof_dir = proof_dir ,
941
- )
942
- proof = single ([p for p in proofs if p .id == spec_label ])
943
- prover = APRProver (kcfg_explore = kcfg_explore , execute_depth = 7 , cut_point_rules = cut_rules )
944
- prover .advance_proof (proof , max_iterations = 1 )
945
- # We have reached a terminal node, but not yet checked subsumption
946
- assert proof .status != ProofStatus .PASSED
947
- # The next advance only checks subsumption
948
- prover .advance_proof (proof , max_iterations = 1 )
949
- assert proof .status == ProofStatus .PASSED
932
+ proof_dir = tmp_path_factory .mktemp (f'apr_tmp_proofs-{ test_id } ' )
933
+ spec_modules = kprove .get_claim_modules (Path (spec_file ), spec_module_name = spec_module )
934
+ spec_label = f'{ spec_module } .{ claim_id } '
935
+ proofs = APRProof .from_spec_modules (
936
+ kprove .definition ,
937
+ spec_modules ,
938
+ spec_labels = [spec_label ],
939
+ logs = {},
940
+ proof_dir = proof_dir ,
941
+ )
942
+ proof = single ([p for p in proofs if p .id == spec_label ])
943
+ prover = APRProver (kcfg_explore = kcfg_explore , execute_depth = 7 , cut_point_rules = cut_rules )
944
+ prover .advance_proof (proof , max_iterations = 1 )
945
+ # We have reached a terminal node, but not yet checked subsumption
946
+ assert proof .status != ProofStatus .PASSED
947
+ # The next advance only checks subsumption
948
+ prover .advance_proof (proof , max_iterations = 1 )
949
+ assert proof .status == ProofStatus .PASSED
950
950
951
951
@pytest .mark .parametrize (
952
952
'test_id,spec_file,spec_module,claim_id,max_iterations,max_depth,terminal_rules,cut_rules,expected_constraint' ,
@@ -1440,34 +1440,32 @@ def test_all_path_reachability_prove_parallel(
1440
1440
tmp_path_factory : TempPathFactory ,
1441
1441
create_prover : Callable [[int , Iterable [str ]], Prover ],
1442
1442
) -> None :
1443
- with tmp_path_factory .mktemp (f'apr_tmp_proofs-{ test_id } ' ) as proof_dir :
1444
- spec_modules = kprove .get_claim_modules (Path (spec_file ), spec_module_name = spec_module )
1445
- spec_label = f'{ spec_module } .{ claim_id } '
1446
- proofs = APRProof .from_spec_modules (
1447
- kprove .definition ,
1448
- spec_modules ,
1449
- spec_labels = [spec_label ],
1450
- logs = {},
1451
- proof_dir = proof_dir ,
1452
- )
1453
- proof = single ([p for p in proofs if p .id == spec_label ])
1454
- if admit_deps :
1455
- for subproof in proof .subproofs :
1456
- subproof .admit ()
1457
- subproof .write_proof_data ()
1443
+ proof_dir = tmp_path_factory .mktemp (f'apr_tmp_proofs-{ test_id } ' )
1444
+ spec_modules = kprove .get_claim_modules (Path (spec_file ), spec_module_name = spec_module )
1445
+ spec_label = f'{ spec_module } .{ claim_id } '
1446
+ proofs = APRProof .from_spec_modules (
1447
+ kprove .definition ,
1448
+ spec_modules ,
1449
+ spec_labels = [spec_label ],
1450
+ logs = {},
1451
+ proof_dir = proof_dir ,
1452
+ )
1453
+ proof = single ([p for p in proofs if p .id == spec_label ])
1454
+ if admit_deps :
1455
+ for subproof in proof .subproofs :
1456
+ subproof .admit ()
1457
+ subproof .write_proof_data ()
1458
1458
1459
- _create_prover = partial (create_prover , max_depth , cut_rules )
1459
+ _create_prover = partial (create_prover , max_depth , cut_rules )
1460
1460
1461
- parallel_advance_proof (
1462
- proof = proof , max_iterations = max_iterations , create_prover = _create_prover , max_workers = 2
1463
- )
1461
+ parallel_advance_proof (proof = proof , max_iterations = max_iterations , create_prover = _create_prover , max_workers = 2 )
1464
1462
1465
- kcfg_show = KCFGShow (kprove , node_printer = APRProofNodePrinter (proof , kprove , full_printer = True ))
1466
- cfg_lines = kcfg_show .show (proof .kcfg )
1467
- _LOGGER .info ('\n ' .join (cfg_lines ))
1463
+ kcfg_show = KCFGShow (kprove , node_printer = APRProofNodePrinter (proof , kprove , full_printer = True ))
1464
+ cfg_lines = kcfg_show .show (proof .kcfg )
1465
+ _LOGGER .info ('\n ' .join (cfg_lines ))
1468
1466
1469
- assert proof .status == proof_status
1470
- assert leaf_number (proof ) == expected_leaf_number
1467
+ assert proof .status == proof_status
1468
+ assert leaf_number (proof ) == expected_leaf_number
1471
1469
1472
1470
def test_all_path_reachability_prove_parallel_resources (
1473
1471
self ,
@@ -1481,39 +1479,37 @@ def test_all_path_reachability_prove_parallel_resources(
1481
1479
spec_module = 'IMP-SIMPLE-SPEC'
1482
1480
claim_id = 'addition-1'
1483
1481
1484
- with tmp_path_factory .mktemp (f'apr_tmp_proofs-{ test_id } ' ) as proof_dir :
1485
- spec_modules = kprove .get_claim_modules (Path (spec_file ), spec_module_name = spec_module )
1486
- spec_label = f'{ spec_module } .{ claim_id } '
1487
- proofs = APRProof .from_spec_modules (
1488
- kprove .definition ,
1489
- spec_modules ,
1490
- spec_labels = [spec_label ],
1491
- logs = {},
1492
- proof_dir = proof_dir ,
1493
- )
1494
- proof = single ([p for p in proofs if p .id == spec_label ])
1482
+ proof_dir = tmp_path_factory .mktemp (f'apr_tmp_proofs-{ test_id } ' )
1483
+ spec_modules = kprove .get_claim_modules (Path (spec_file ), spec_module_name = spec_module )
1484
+ spec_label = f'{ spec_module } .{ claim_id } '
1485
+ proofs = APRProof .from_spec_modules (
1486
+ kprove .definition ,
1487
+ spec_modules ,
1488
+ spec_labels = [spec_label ],
1489
+ logs = {},
1490
+ proof_dir = proof_dir ,
1491
+ )
1492
+ proof = single ([p for p in proofs if p .id == spec_label ])
1495
1493
1496
- _create_prover = partial (create_prover , 1 , [])
1494
+ _create_prover = partial (create_prover , 1 , [])
1497
1495
1498
- provers_created = 0
1496
+ provers_created = 0
1499
1497
1500
- class MyAPRProver (APRProver ):
1501
- provers_closed : int = 0
1498
+ class MyAPRProver (APRProver ):
1499
+ provers_closed : int = 0
1502
1500
1503
- def close (self ) -> None :
1504
- MyAPRProver .provers_closed += 1
1505
- super ().close ()
1501
+ def close (self ) -> None :
1502
+ MyAPRProver .provers_closed += 1
1503
+ super ().close ()
1506
1504
1507
- def create_prover_res_counter () -> APRProver :
1508
- nonlocal provers_created
1509
- provers_created += 1
1510
- prover = _create_prover ()
1511
- prover .__class__ = MyAPRProver
1512
- assert type (prover ) is MyAPRProver
1513
- return prover
1505
+ def create_prover_res_counter () -> APRProver :
1506
+ nonlocal provers_created
1507
+ provers_created += 1
1508
+ prover = _create_prover ()
1509
+ prover .__class__ = MyAPRProver
1510
+ assert type (prover ) is MyAPRProver
1511
+ return prover
1514
1512
1515
- parallel_advance_proof (
1516
- proof = proof , max_iterations = 2 , create_prover = create_prover_res_counter , max_workers = 2
1517
- )
1513
+ parallel_advance_proof (proof = proof , max_iterations = 2 , create_prover = create_prover_res_counter , max_workers = 2 )
1518
1514
1519
- assert provers_created == MyAPRProver .provers_closed
1515
+ assert provers_created == MyAPRProver .provers_closed
0 commit comments