§ Proving False with partial functions even with Inhabited types

partial def foo (_ : Unit) : Bool := ¬ foo ()
axiom foo_eqn : foo () = ¬ foo ()

theorem false : False := by
  have hcontra : foo () = ¬ foo () := foo_eqn
  by_cases h : (foo ()) <;> simp [h] at hcontra

/-- info: 'hfoo_false' depends on axioms: [foo_eqn, propext] -/
#guard_msgs in #print axioms hfoo_false