Skip to content

Instantly share code, notes, and snippets.

View avigad's full-sized avatar

Jeremy Avigad avigad

View GitHub Profile
@avigad
avigad / unifier_trick.lean
Created July 9, 2017 11:06
a unifier trick
universes u v
variables {ι : Type u} {α : Type v}
/- the usual definitions of indexed union and intersection -/
def Union (s : ι → set α) : set α := { a | ∃ i, a ∈ s i }
def Inter (s : ι → set α) : set α := { a | ∀ i, a ∈ s i }
notation `⋃` binders `, ` r:(scoped f, Union f) := r
notation `⋂` binders `, ` r:(scoped f, Inter f) := r
@avigad
avigad / mk_inhabitant_example.lean
Created March 11, 2017 02:06
Using mk_inhabitant_using and interactive tactic
open tactic
open smt_tactic
meta def blast : tactic unit := using_smt $ intros >> try simp >> try eblast
notation `♮` := by abstract { blast }
universe variables u v
structure Category :=