module public section -- TODO: `try?` fails if theorems are private opaque P : Nat → Prop opaque Q : Nat → Prop theorem Pall : Q x → P x := sorry /-- info: Try this: [apply] exact Pall h -/ #guard_msgs (info) in example (h : Q x) (_ : x > 0) : P x := by try? /-- info: Try this: [apply] · intros; expose_names; exact Pall h -/ #guard_msgs (info) in example: Q x → True → P x := by try? /-- info: Try this: [apply] · intros; expose_names; exact Pall h_1 -/ #guard_msgs (info) in example: True → Q x → True → P x := by try? theorem Qall {x y : Nat} : Q x := sorry /-- error: Tactic `try?` failed: consider using `grind` manually, or `try? +missing` for partial proofs containing `sorry` x : Nat ⊢ Q x -/ #guard_msgs (error) in example : Q x := by try? -- should fail, we cannot elaborate `exact Qall` /-- info: Try this: [apply] · expose_names; exact Pall h -/ #guard_msgs (info) in example (_ : Q x) (_ : x > 0) : P x := by try?