theoremquest-0.0.0: A common library for TheoremQuest, a theorem proving game.

TheoremQuest.Logic

Synopsis

Documentation

type Proposition = TermSource

A boolean term.

data Type Source

Constructors

Bool 
Type :-> Type 

data Inference a Source

Constructors

REFL Term 
TRANS a a 
MK_COMB a a 
ABS Term a 
BETA Term 
ASSUME Term 
EQ_MP a a 
DEDUCT_ANTISYM a a 
INST [(Variable, Term)] a 
INST_TYPE [(Type, Type)] a 
AXIOM Axiom 

Instances

Read a => Read (Inference a) 
Show a => Show (Inference a) 

data Axiom Source

Constructors

Axiom 

Instances

class TypeOf a whereSource

Methods

typeOf :: a -> TypeSource

assumptions :: Theorem -> [Proposition]Source

Assumptions of a Theorem.

inference :: Inference Theorem -> Maybe TheoremSource

Creates a Theorem from an Inference rule application.

wellTyped :: Term -> BoolSource

Checks if a term is well-typed.

freeIn :: Variable -> Term -> BoolSource

Checks if a variable is free in a term.

freeVariables :: Term -> [Variable]Source

All free variables in a term.