You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
definition of Irreducible and Rough; refactoring of Prime and Composite cf. #2180 (#2181)
* definition of `Irreducible`; refactoring of `Prime` and `Composite`
* tidying up old cruft
* knock-on consequences: `Coprimality`
* considerable refactoring of `Primality`
* knock-on consequences: `Coprimality`
* refactoring: no appeal to `Data.Nat.Induction`
* refactoring: renamed `SmoothAt` and its constructor; added pattern synonym; proved `Decidable Irreducible`; misc. tweaks
* knock-on consequences: `Coprimality`
* refactoring: removed `NonZero` analysis; misc. tweaks
* knock-on consequences: `Coprimality`; tightened `import`s
* knock-on consequences: `Coprimality`; tightened `import`s
* refactoring: every number is `1-rough`
* knock-on consequences: `Coprimality`; use of smart constructor
* refactoring: every number is `0-rough`; streamlining; inverse to `prime`; documentation
* attempt to optimise for a nearly-common case pseudo-constructor
* fiddling now
* refactoring: better use of `primality` API
* `Rough` is bounded
* removed unnecessary implicits
* comment
* refactoring: comprehensive shift over to `NonTrivial` instances
* refactoring: oops!
* tidying up: removed infixes
* tidying up: restored `rough⇒≤`
* further refinements; added `NonTrivial` proofs
* tidying up
* moving definitions to `Data.Nat.Base`
* propagated changes; many more explicit s required?
* `NonTrivial` is `Recomputable`
* all instances of `NonTrivial` now irrelevant; weird to need `NonTrivial 2` explicitly
* tidying up `Coprimality`, eg with `variable`s
* `NonTrivial` is `Decidable`
* systematise proofs of `Decidable` properties via the `UpTo` predicates
* explicit quantifier now in `composite≢`
* Nathan's simplification
* interaction of `NonZero` and `NonTrivial` instances
* divisor now a record field; final lemmas: closure under divisibility; plus partial `CHANGELOG` entries
* '(non-)instances' become '(counter-)examples'
* stylistics
* removed `k` as a variable/parameter
* renamed fields and smart constructors
* moved smart constructors; made a local definition
* tidying up
* refactoring per review comments: equivalence of `UpTo` predicates; making more things `private`
* tidying up: names congruent to ordering relation
* removed variable `k`; removed old proof in favour of new one with `NonZero` instance
* removed `recomputable` in favour of a private lemma
* regularised use of instance brackets
* made instances more explicit
* made instances more explicit
* blank line
* made `nonTrivial⇒nonZero` take an explicit argument in lieu of being able to make it an `instance`
* regularised use of instance brackets
* regularised use of instance brackets
* trimming
* tidied up `Coprimality` entries
* Make HasBoundedNonTrivialDivisor infix
* Make NonTrivial into a record to fix instance resolution bug
* Move HasNonTrivialDivisor to Divisibility.Core and hide UpTo lemmas
* Rearrange file to follow standard ordering of lemmas in the rest of the library
* Move UpTo predicates into decidability proofs
* No-op refactoring to curb excessively long lines
* Make a couple of names consistent with style-guide
* new definition of `Prime`
* renamed fundamental definition
* one last reference in `CHANGELOG`
* more better words; one fewer definition
* tidied up `Definitions` section; rejigged order of proofs of properties to reflect definitional order
* refactored proof of `prime⇒irreducible`
* finishing touches
* missing lemma from irrelevant instance list
* regularised final proof to use `contradiction`
* added fixity `infix 10`
* added fixity `infix 10`; made `composite` a pattern synonym; knock-on improvements
* comprehensive `CHNAGELOG` entry; whitespace fixes
* Rename 1<2+ to sz<ss
* Rename hasNonTrivialDivisor relation
* Updated CHANGELOG
---------
Co-authored-by: MatthewDaggitt <[email protected]>
0 commit comments