File: .lake/packages/lean4/src/lean/Init/BinderPredicates.lean

full_name: Lean.Parser.Category.binderPred
code: /--
The syntax category of binder predicates contains predicates like `> 0`, `∈ s`, etc.
(`: t` should not be a binder predicate because it would clash with the built-in syntax for ∀/∃.)
-/
declare_syntax_cat binderPred
goal: Lean.Parser.Category

full_name: Lean.«termSatisfies_binder_pred%__»
code: /--
`satisfies_binder_pred% t pred` expands to a proposition expressing that `t` satisfies `pred`.
-/
syntax "satisfies_binder_pred% " term:max binderPred : term
goal: Lean.ParserDescr

full_name: Lean.«term∃__,_»
code: /--
The notation `∃ x < 2, p x` is shorthand for `∃ x, x < 2 ∧ p x`,
and similarly for other binary operators.
-/
syntax "∃ " binderIdent binderPred ", " term : term
goal: Lean.ParserDescr

full_name: Lean.«term∀__,_»
code: /--
The notation `∀ x < 2, p x` is shorthand for `∀ x, x < 2 → p x`,
and similarly for other binary operators.
-/
syntax "∀ " binderIdent binderPred ", " term : term
goal: Lean.ParserDescr

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_term∃__,__1»
code: macro_rules
  | `(∃ $x:ident $pred:binderPred, $p) =>
    `(∃ $x:ident, satisfies_binder_pred% $x $pred ∧ $p)
  | `(∃ _ $pred:binderPred, $p) =>
    `(∃ x, satisfies_binder_pred% x $pred ∧ $p)
goal: Lean.Macro

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_term∀__,__1»
code: macro_rules
  | `(∀ $x:ident $pred:binderPred, $p) =>
    `(∀ $x:ident, satisfies_binder_pred% $x $pred → $p)
  | `(∀ _ $pred:binderPred, $p) =>
    `(∀ x, satisfies_binder_pred% x $pred → $p)
goal: Lean.Macro

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_termSatisfies_binder_pred%___1»
code: binder_predicate x " > " y:term => `($x > $y)
goal: Lean.Macro

full_name: Lean.«binderTerm>_»
code: binder_predicate x " > " y:term => `($x > $y)
goal: Lean.ParserDescr

full_name: Lean.«binderTerm≥_»
code: binder_predicate x " ≥ " y:term => `($x ≥ $y)
goal: Lean.ParserDescr

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_termSatisfies_binder_pred%___2»
code: binder_predicate x " ≥ " y:term => `($x ≥ $y)
goal: Lean.Macro

full_name: Lean.«binderTerm<_»
code: binder_predicate x " < " y:term => `($x < $y)
goal: Lean.ParserDescr

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_termSatisfies_binder_pred%___3»
code: binder_predicate x " < " y:term => `($x < $y)
goal: Lean.Macro

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_termSatisfies_binder_pred%___4»
code: binder_predicate x " ≤ " y:term => `($x ≤ $y)
goal: Lean.Macro

full_name: Lean.«binderTerm≤_»
code: binder_predicate x " ≤ " y:term => `($x ≤ $y)
goal: Lean.ParserDescr

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_termSatisfies_binder_pred%___5»
code: binder_predicate x " ≠ " y:term => `($x ≠ $y)
goal: Lean.Macro

full_name: Lean.«binderTerm≠_»
code: binder_predicate x " ≠ " y:term => `($x ≠ $y)
goal: Lean.ParserDescr

full_name: Lean.«binderTerm∈_»
code: binder_predicate x " ∈ " y:term => `($x ∈ $y)
goal: Lean.ParserDescr

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_termSatisfies_binder_pred%___6»
code: binder_predicate x " ∈ " y:term => `($x ∈ $y)
goal: Lean.Macro

full_name: Lean.«binderTerm∉_»
code: binder_predicate x " ∉ " y:term => `($x ∉ $y)
goal: Lean.ParserDescr

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_termSatisfies_binder_pred%___7»
code: binder_predicate x " ∉ " y:term => `($x ∉ $y)
goal: Lean.Macro

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_termSatisfies_binder_pred%___8»
code: binder_predicate x " ⊆ " y:term => `($x ⊆ $y)
goal: Lean.Macro

full_name: Lean.«binderTerm⊆_»
code: binder_predicate x " ⊆ " y:term => `($x ⊆ $y)
goal: Lean.ParserDescr

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_termSatisfies_binder_pred%___9»
code: binder_predicate x " ⊂ " y:term => `($x ⊂ $y)
goal: Lean.Macro

full_name: Lean.«binderTerm⊂_»
code: binder_predicate x " ⊂ " y:term => `($x ⊂ $y)
goal: Lean.ParserDescr

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_termSatisfies_binder_pred%___10»
code: binder_predicate x " ⊇ " y:term => `($x ⊇ $y)
goal: Lean.Macro

full_name: Lean.«binderTerm⊇_»
code: binder_predicate x " ⊇ " y:term => `($x ⊇ $y)
goal: Lean.ParserDescr

full_name: Lean.«binderTerm⊃_»
code: binder_predicate x " ⊃ " y:term => `($x ⊃ $y)
goal: Lean.ParserDescr

full_name: Lean.«_aux_.lake_packages_lean4_src_lean_Init_BinderPredicates___macroRules_Lean_termSatisfies_binder_pred%___11»
code: binder_predicate x " ⊃ " y:term => `($x ⊃ $y)
goal: Lean.Macro