equal
deleted
inserted
replaced
58 val decode: proof XML.Decode.T |
58 val decode: proof XML.Decode.T |
59 val decode_body: proof_body XML.Decode.T |
59 val decode_body: proof_body XML.Decode.T |
60 |
60 |
61 (** primitive operations **) |
61 (** primitive operations **) |
62 val proofs_enabled: unit -> bool |
62 val proofs_enabled: unit -> bool |
|
63 val atomic_proof: proof -> bool |
|
64 val compact_proof: proof -> bool |
63 val proof_combt: proof * term list -> proof |
65 val proof_combt: proof * term list -> proof |
64 val proof_combt': proof * term option list -> proof |
66 val proof_combt': proof * term option list -> proof |
65 val proof_combP: proof * proof list -> proof |
67 val proof_combP: proof * proof list -> proof |
66 val strip_combt: proof -> proof * term option list |
68 val strip_combt: proof -> proof * term option list |
67 val strip_combP: proof -> proof * proof list |
69 val strip_combP: proof -> proof * proof list |
354 |
356 |
355 end; |
357 end; |
356 |
358 |
357 |
359 |
358 (***** proof objects with different levels of detail *****) |
360 (***** proof objects with different levels of detail *****) |
|
361 |
|
362 fun atomic_proof prf = |
|
363 (case prf of |
|
364 Abst _ => false |
|
365 | AbsP _ => false |
|
366 | op % _ => false |
|
367 | op %% _ => false |
|
368 | Promise _ => false |
|
369 | _ => true); |
|
370 |
|
371 fun compact_proof (prf % _) = compact_proof prf |
|
372 | compact_proof (prf1 %% prf2) = atomic_proof prf2 andalso compact_proof prf1 |
|
373 | compact_proof prf = atomic_proof prf; |
359 |
374 |
360 fun (prf %> t) = prf % SOME t; |
375 fun (prf %> t) = prf % SOME t; |
361 |
376 |
362 val proof_combt = Library.foldl (op %>); |
377 val proof_combt = Library.foldl (op %>); |
363 val proof_combt' = Library.foldl (op %); |
378 val proof_combt' = Library.foldl (op %); |