Theory FOL_Syntax
theory FOL_Syntax
imports
Main
Propositional_Proof_Systems.Compactness
First_Order_Terms.Term
First_Order_Terms.Subterm_and_Context
begin
no_notation Not ("❙¬")
no_notation And (infix "❙∧" 68)
no_notation Or (infix "❙∨" 68)
lemma count_terms:
"OFCLASS(('f::countable, 'v::countable) term,countable_class)"
by countable_datatype
instance "term" :: (countable, countable) countable
using count_terms by simp
type_synonym nterm = ‹(nat, nat) term›
lemma count_nterms: "OFCLASS(nterm,countable_class)"
using count_terms by simp
instance formula :: (countable) countable
by countable_datatype
term "test (0, [Var 0])"
abbreviation functions_term :: ‹nterm ⇒ (nat × nat) set› where
‹functions_term t ≡ funas_term t›