Skip to content
This repository was archived by the owner on Apr 25, 2024. It is now read-only.

Commit f3db736

Browse files
committed
Do not convert proofs to claims if they are not circularities.
Because some proofs in KEVM cannot be converted, and those are not circularities.
1 parent ef08872 commit f3db736

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/pyk/proof/reachability.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1280,7 +1280,7 @@ def steps(self, proof: APRProof) -> Iterable[APRProofStep]:
12801280
target_is_terminal=(proof.target not in proof._terminal),
12811281
main_module_name=self.prover.main_module_name,
12821282
dependencies_as_claims=[d.as_claim(self.kprint) for d in apr_subproofs],
1283-
self_proof_as_claim=proof.as_claim(self.kprint),
1283+
self_proof_as_claim=(proof.as_claim(self.kprint) if proof.circularity else None),
12841284
circularity=proof.circularity,
12851285
depth_is_nonzero=self.prover.nonzero_depth(pending_node),
12861286
)
@@ -1405,7 +1405,7 @@ class APRProofStep(parallel.ProofStep[APRProofResult, APRProofProcessData]):
14051405
trace_rewrites: bool
14061406

14071407
dependencies_as_claims: list[KClaim]
1408-
self_proof_as_claim: KClaim
1408+
self_proof_as_claim: KClaim | None
14091409
circularity: bool
14101410
depth_is_nonzero: bool
14111411

@@ -1470,7 +1470,12 @@ def exec(self, data: APRProofProcessData) -> APRProofResult:
14701470
kcfg_explore.add_dependencies_module(
14711471
self.main_module_name,
14721472
self.circularities_module_name,
1473-
self.dependencies_as_claims + ([self.self_proof_as_claim] if self.circularity else []),
1473+
self.dependencies_as_claims
1474+
+ (
1475+
[self.self_proof_as_claim]
1476+
if (self.circularity and (self.self_proof_as_claim is not None))
1477+
else []
1478+
),
14741479
priority=1,
14751480
)
14761481

0 commit comments

Comments
 (0)