Sequents should be read as stating that the resources on the left of => when combined generate single resource on the right (the calculus is linear and intuitionistic).
There are three connectives: -> which is linear implication, *, multiplicative "and", and <> which represents the monadic "modality".
The calculus is "typed", but you have to specify types only for atoms. The types are mainly necessary because we have variables.
You can specify for each lexical resource a constant that represents its lexical meaning, or let the program supply a rather uninformative variable
everyone : (e.e -> X.t) -> X.t, love : e.e -> s.e -> l.t, someone : (s.e -> Y.t) -> Y.t => l.t
reza : r.e, not : b.t -> b.t, believe : <>i.t -> r.e -> <>b.t, jesus : <>j1.e, is : j1.e -> j2.e -> i.t, jesus : <>j2.e => <>b.t
a.a * b.b, a.a -> b.b -> c.c => c.c
a.a -> b.b, a.a => b.b
Literals are indicated by double quotes. White spaces are irrelevant, put as many as you like.
Sequent := LHS "=>" RHS
LHS := "" | Formula "," LHS
RHS := SimpleFormula
Formula := DecoratedFormula | SimpleFormula
DecoratedFormula := Constant ":" SimpleFormula
Constant := [a-ZA-Z0-9]+
SimpleFormula := ["("] (Atom | Variable | Implication | Tensor | Monad) [")"]
Atom := [a-z][a-zA-Z0-9]* "." Type
Type := [a-zA-Z0-9]+
Variable := [A-Z][a-zA-Z0-9]* "." Type
Implication := SimpleFormula "->" SimpleFormula
Tensor := SimpleFormula "*" SimpleFormula
Monad := "<>" SimpleFormula
<> binds tighter than -> and *, so <>a.a -> b.b is equivalent to (<>a.a) -> b.b-> is right associative, so a.a -> b.b -> c.c is equivalent to a.a -> (b.b -> c.c)* is right associative, so a.a * b.b * c.c is equivalent to a.a * (b.b * c.c)* has higher precedence than -> so a.a * b.b -> c.c is equivalent to a.a * (b.b -> c.c)