(Big) Disjunction and Conjunction #
Here we define ⋀ and ⋁ on formulas and seveal helper lemmas.
Conjunction #
Disjunction #
Disjunction of Conjunctions #
Variant of disconEval for a specific length of XS to be provable by induction.
Sorting lists of formulas #
To also sort a Finset (Finset Formula) we need an order on List Formula.
We use the lexicographic order List.le coming from the order on formulas.
TODO: these could be moved to Pdl.Syntax, next to Finset.fsort.
@[instance_reducible]
The linear order on formulas, bundling the results from Pdl.Syntax.
This is only used locally, to get the lexicographic order on List Formula.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
- instDecidableRelListFormulaLe l1 l2 = decidable_of_iff (l1 ≤ l2) ⋯
The disjunction of conjunctions given by a Finset (Finset Formula).
The inner sets are sorted with Finset.fsort and the outer set is then sorted
lexicographically with List.le.
Equations
- x✝.discon = discon ((Finset.image Finset.fsort x✝).sort List.le)
Instances For
Pairwise Union #
Equations
- «term_⊎_» = Lean.ParserDescr.trailingNode `«term_⊎_» 77 77 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "⊎") (Lean.ParserDescr.cat `term 78))
Instances For
@[instance_reducible]
Equations
- listHasUplus = { pairunion := pairunionList }
@[instance_reducible]
Equations
- finsetHasUplus = { pairunion := pairunionFinset }