Textbook formulas

Check them
SPEC

local p,q,r,s,t,u : bool

macro first = !(-)true

PROPERTY a : <>p /\ []q <==> <>(p /\ []q)                       % not valid
PROPERTY b : <>p /\ []q <==> [](<>p /\ q)                       % not valid
PROPERTY c : <>[]p /\ <>[]q <==> <>([]p /\ []q)                 % valid
PROPERTY d : (p Until q) Until q <==> p Until q                 % valid
PROPERTY e : p Until q <==>((!p)Until q --> p Until q)          % not valid
PROPERTY f : p Until q /\ q Until r <==> p Until r              % not valid
PROPERTY g : <>p <==> [](<>p \/ <->p)                           % not valid
PROPERTY h : <><->p <==> <-><>p                                 % valid

PROPERTY i : (q ==> <->p) <--> (!q) Awaits p                    % valid
PROPERTY j : ([]p \/ []q) <--> []([-]p \/ [-]q)                 % valid
PROPERTY k : (p --> []q) <--> [](<->p --> q)                    % not valid
PROPERTY l : <>(p/\<->q) <--> <>(q/\ <>p)                       % valid
PROPERTY m : (<>p /\ <>q) <--> <>(<->p /\ <->q)                 % valid


PROPERTY n : ([]p \/<>q) <==> p Awaits(<>q)
PROPERTY o : (p ==> <>q) <--> []<>((!p) Backto q)
PROPERTY p : (p ==> <>q) <==> []<>((!p) Backto q)
PROPERTY q : ([]<>p /\ []<>q) <--> []<>(q /\ !(-)!((!q) Backto p))
PROPERTY r : <>p <--> <><->p
PROPERTY s : (p ==> <>[]q) <--> <>[](<->p --> q)
PROPERTY t : (<>[]p \/ <>[]q) <--> <>[](q \/ !(-)!(p Backto(p /\ !q))) 
PROPERTY u : <>[](p --> []q) <--> (<>[]q \/ <>[] !p)
PROPERTY v : ()()p <==> [](((-)(-)first) --> p)
PROPERTY w : p Until q <--> <>(q /\ !(-)![-]p)
PROPERTY x : (p ==> (!q) Awaits r) <--> (q ==> (!p) Backto r)
PROPERTY y : !(p Until q) <--> (!q) Awaits(!p /\ !q)
PROPERTY z : !(p Until q) <==> (!q) Awaits(!p /\ !q)