Vocabulary (part of Section 2.1) #
Equations
- Vocab.fromList [] = ∅
- Vocab.fromList (v :: vs) = v ∪ Vocab.fromList vs
Instances For
Instances For
Test(α)
Equations
- testsOfProgram (·a) = []
- testsOfProgram (?'τ) = [τ]
- testsOfProgram (α;'β) = testsOfProgram α ++ testsOfProgram β
- testsOfProgram (α⋓β) = testsOfProgram α ++ testsOfProgram β
- testsOfProgram (∗α) = testsOfProgram α
Instances For
Prog(α)
Equations
- subprograms (·a) = [·a]
- subprograms (?'τ) = [?'τ]
- subprograms (α;'β) = [α;'β] ++ subprograms α ++ subprograms β
- subprograms (α⋓β) = [α⋓β] ++ subprograms α ++ subprograms β
- subprograms (∗α) = [∗α] ++ subprograms α
Instances For
Fresh variables #
Get a fresh atomic proposition x
not occuring in ψ
.
Equations
- freshVarForm Formula.bottom = 0
- freshVarForm (·n) = n + 1
- freshVarForm (~φ) = freshVarForm φ
- freshVarForm (φ⋀ψ) = freshVarForm φ ⊔ freshVarForm ψ
- freshVarForm (⌈α⌉φ) = freshVarProg α ⊔ freshVarForm φ
Instances For
Get a fresh atomic proposition x
not occuring in α
.
Equations
- freshVarProg (·n) = 0
- freshVarProg (α;'β) = freshVarProg α ⊔ freshVarProg β
- freshVarProg (α⋓β) = freshVarProg α ⊔ freshVarProg β
- freshVarProg (∗α) = freshVarProg α
- freshVarProg (?'φ) = freshVarForm φ