Zulip Chat Archive

Stream: mathlib4

Topic: What to call `primrec.not` in mathlib 4


Praneeth Kolichala (Feb 27 2023 at 06:29):

In !4#2360, we need to rename the following lemmas:

protected theorem band : primrec₂ band

and

protected theorem and {p q : α  Prop}
  [decidable_pred p] [decidable_pred q]
  (hp : primrec_pred p) (hq : primrec_pred q) :
  primrec_pred (λ a, p a  q a)

Mathport automatically changed band (boolean and is primitive recursive) to and. What should the old and be called? Some ideas:

- And to match Prop (but it is a lemma, not a constructor)
- intersect -- Because it says primrec_pred is closed under intersection
- pand -- current placeholder name to distinguish it from and ("p" for "Prop")
Similarly, the lemmas primrec.not and primrec.or need to be renamed.

Eric Wieser (Feb 27 2023 at 09:40):

Shouldn't these be in different namespaces?

Eric Wieser (Feb 27 2023 at 09:40):

docs#primrec.and

Praneeth Kolichala (Feb 27 2023 at 17:01):

The lemmas band and and are currently both in the primrec namespace. The issue is that Bool.band was renamed to Bool.and, and so, to match this, it seems Primrec.band should become Primrec.and. But then what does the old Primrec.and become?

Eric Wieser (Feb 27 2023 at 17:03):

Could the Prop version be renamed to primrec_pred.and?


Last updated: Dec 20 2023 at 11:08 UTC