moltapContentsIndex
Moltap.Base.Proof
Synopsis
data Signed a
= Pos a
| Neg a
sign :: Signed a -> Bool
flipSign :: Signed a -> Signed a
(+/-) :: Bool -> a -> Signed a
type HalfProof = Signed [ProofPart]
data ProofPart
= HProofNeg Bool Formula
| HProofAnd Formula Formula
| HProofAndL Formula
| HProofAndR Formula
| HProofBoxP Agents Formula
| HProofBoxJ Agents Formula
| HProofBoxN Agents Formula
| HProofDropA
| HProofSplitL Formula
| HProofSplitR Formula
proofFalsum :: ProofPart -> Proof
proofAssum :: Formula -> ProofPart -> ProofPart -> Proof
proof1 :: ProofPart -> Proof -> Proof
data RProofStep0
= R0_Goal Formula
| R0_Split
data RProofStep1 = R1_False
data RProofStep2 = R2_Assume Formula
proofAnd :: Proof -> Proof -> Proof
type Sign = Bool
data ProofStep0
= P0_True Bool
| P0_Assum Formula
| P0_Hole (Signed Formula)
data ProofStep1
= P1_Neg (Signed Formula)
| P1_And Formula Formula
| P1_BoxK Agents
| P1_BoxT Agents Formula
| P1_Box4 Agents Formula
| P1_Box5 Agents Formula
| P1_CoHole (Signed Formula)
data ProofStep2 = P2_And Formula Formula
data ProofTree
= P0 ProofStep0
| P1 ProofStep1 ProofTree
| P2 ProofStep2 ProofTree ProofTree
type Sequent = Set (Signed Formula)
runProof :: ProofTree -> Sequent
joinProof :: ProofTree -> ProofTree -> ProofTree
data Proof
= ProofTrue HalfProof
| ProofAssum Formula HalfProof HalfProof
| ProofAnd Proof Proof
Documentation
data Signed a
Constructors
Pos a
Neg a
show/hide Instances
sign :: Signed a -> Bool
The sign of a signed value
flipSign :: Signed a -> Signed a
Flip a sign
(+/-) :: Bool -> a -> Signed a
type HalfProof = Signed [ProofPart]

Halve a proof, A HalfProof for a could be for instance a|- ==> ... ==> goal

Two HalfProofs can be connected to form a full proof, with the root a |- a.

data ProofPart
Constructors
HProofNeg Bool Formula
HProofAnd Formula Formula
HProofAndL Formula
HProofAndR Formula
HProofBoxP Agents Formula
HProofBoxJ Agents Formula
HProofBoxN Agents Formula
HProofDropA
HProofSplitL Formula
HProofSplitR Formula
show/hide Instances
proofFalsum :: ProofPart -> Proof
Terminate a proof in false |- D.
proofAssum :: Formula -> ProofPart -> ProofPart -> Proof
Terminate a proof in G, a |- a, D.
proof1 :: ProofPart -> Proof -> Proof
data RProofStep0
Constructors
R0_Goal Formula
R0_Split
data RProofStep1
Constructors
R1_False
data RProofStep2
Constructors
R2_Assume Formula
proofAnd :: Proof -> Proof -> Proof
Combine a |- b and c |- d into ...
type Sign = Bool
data ProofStep0
Constructors
P0_True Bool
[+True]
P0_Assum Formula
[+a, -a]
P0_Hole (Signed Formula)Placeholder, fill in later
data ProofStep1
Constructors
P1_Neg (Signed Formula)
P1_And Formula Formula
P1_BoxK Agents
P1_BoxT Agents Formula
P1_Box4 Agents Formula
P1_Box5 Agents Formula
P1_CoHole (Signed Formula)
data ProofStep2
Constructors
P2_And Formula FormulaG |- a, D and H |- b, E ==> G,H |- a&b, D,E
data ProofTree
Constructors
P0 ProofStep0
P1 ProofStep1 ProofTree
P2 ProofStep2 ProofTree ProofTree
type Sequent = Set (Signed Formula)
runProof :: ProofTree -> Sequent
Run a proof, return the resulting sequent
joinProof :: ProofTree -> ProofTree -> ProofTree
data Proof
Constructors
ProofTrue HalfProof
ProofAssum Formula HalfProof HalfProof
ProofAnd Proof Proof
show/hide Instances
Produced by Haddock version 0.8