Zulip Chat Archive

Stream: new members

Topic: meaning of ɑ, β in proof headers about logical equivalence


rzeta0 (Dec 08 2024 at 17:55):

I've just started Chapter 5 Logic of MoP.

Without explanation or discussion, the proofs have introduced the use of ɑ and β in the proof headers. Two examples follow:

Example 1

example {P Q : α  Prop} (h1 :  x : α, P x) (h2 :  x : α, Q x) :
     x : α, P x  Q x := by
  intro x
  constructor
  · apply h1
  · apply h2

Example 2

example {P : α  β  Prop} (h :  x : α,  y : β, P x y) :
     y : β,  x : α, P x y := by
  obtain x, hx := h
  intro y
  use x
  apply hx

I can only guess what the alpha and beta are: placeholders to allow the variables to be of any type?

Question: I'd welcome guidance and explanation of what these alpha and beta are.


I notice they don't appear in simpler poofs that don't use quantifiers:

example (P Q : Prop) : P  (P  ¬ Q) := by
  intro hP
  left
  apply hP

Edward van de Meent (Dec 08 2024 at 18:00):

these are implicit arguments/variables.
adding set_option autoImplicit false will make lean throw errors for these kinds of implicit variables.

Edward van de Meent (Dec 08 2024 at 18:00):

rzeta0 said:

I can only guess what the alpha and beta are: placeholders to allow the variables to be of any type?

that's exactly right :100:

rzeta0 (Dec 08 2024 at 22:20):

so is it only greek letters that are taken as such implicit variables / placeholders?

Edward van de Meent (Dec 08 2024 at 22:28):

when the autoImplicit option is true, any identifier that is not bound to a declaration or a variable, gets added as an implicit argument.

Kyle Miller (Dec 08 2024 at 22:29):

Let's not assume it's autoImplicit at work @Edward van de Meent without verifying. Are there any variable commands before this @rzeta0? Edit: Edward already checked, and the answer is "no".

Edward van de Meent (Dec 08 2024 at 22:30):

Kyle Miller said:

Let's not assume it's autoImplicit at work Edward van de Meent without verifying. Are there any variable commands before this rzeta0?

this is in Mechanics of proof, and i checked the file...

Kyle Miller (Dec 08 2024 at 22:30):

Thanks, that's not something I could tell from reading the thread.

Kyle Miller (Dec 08 2024 at 22:31):

Your first example @rzeta0 could be written equivalently as

example {α : Sort _} {P Q : α  Prop} (h1 :  x : α, P x) (h2 :  x : α, Q x) :
     x : α, P x  Q x := by
  intro x
  constructor
  · apply h1
  · apply h2

Edward van de Meent (Dec 08 2024 at 22:31):

rzeta0 said:

I've just started Chapter 5 Logic of MoP.

it was mentioned at the top of the thread

Kyle Miller (Dec 08 2024 at 22:32):

(I just didn't know that you checked it Edward. I wanted to be sure this wasn't misguided advice.)


Last updated: May 02 2025 at 03:31 UTC