-
Notifications
You must be signed in to change notification settings - Fork 314
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(ModelTheory/Complexity): define literals #16885
base: master
Are you sure you want to change the base?
Conversation
PR summary 96ffb83c8bImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
Rather than defining At least - I think it might be easier to use, once |
I agree. Defining |
This PR/issue depends on: |
/-- The conjunction of two bounded formulas is also a bounded formula. -/ | ||
@[match_pattern] | ||
protected def inf (φ ψ : L.BoundedFormula α n) : L.BoundedFormula α n := | ||
(φ.imp ψ.not).not | ||
|
||
instance : Inf (L.BoundedFormula α n) := | ||
⟨fun f g => (f.imp g.not).not⟩ | ||
⟨fun f g => f.inf g⟩ | ||
|
||
/-- The disjunction of two bounded formulas is also a bounded formula. -/ | ||
@[match_pattern] | ||
protected def sup (φ ψ : L.BoundedFormula α n) : L.BoundedFormula α n := | ||
φ.not.imp ψ | ||
|
||
instance : Sup (L.BoundedFormula α n) := | ||
⟨fun f g => f.not.imp g⟩ | ||
⟨fun f g => f.sup g⟩ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the point of this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I defined separate sup
and inf
functions with a match_pattern
tag to be able to use sup φ ψ
and inf φ ψ
inside match
in the definition of simpleNot
. Do you know how to make the expressions φ ⊔ ψ
and φ ⊓ ψ
matchable?
Co-authored-by: Yaël Dillies <[email protected]>
Defines
FirstOrder.Language.BoundedFormula.IsLiteral
andFirstOrder.Language.BoundedFormula.simpleNot
- an auxiliary operation that takes the negation of a formula and does some simplification.