isabelle中简单不等式的证明

isabelle中简单不等式的证明,isabelle,Isabelle,我是伊莎贝尔的新手,试图证明以下简单的不等式: lemma ineq: "(a::real) > 0 ⟹ a < 1 ⟹ (b::real) > 0 ⟹ b < 1 ⟹ (a + b - a * b) > 0" proof have "1/a + 1/b > 1" by auto qed 引理ineq: “(a::雷亚尔)>0⟹ a0⟹ b0“ 证明 自动设置“1/a+1/b>1” 量化宽松 我试图用上面的一行来展示它,但显然不是那么容易,无论我尝

我是伊莎贝尔的新手,试图证明以下简单的不等式:

lemma ineq:
  "(a::real) > 0 ⟹ a < 1 ⟹ (b::real) > 0 ⟹ b < 1 ⟹ (a + b - a * b) > 0"
proof
  have "1/a + 1/b > 1" by auto
qed
引理ineq:
“(a::雷亚尔)>0⟹ a<1⟹ (b::real)>0⟹ b<1⟹ (a+b-a*b)>0“
证明
自动设置“1/a+1/b>1”
量化宽松

我试图用上面的一行来展示它,但显然不是那么容易,无论我尝试什么(show、have、from的几个组合),isabelle都会在“prove”模式下展示
非法应用证明命令。我不知道这意味着什么。有人能告诉我如何继续吗?

一般来说:如果Isabelle显示了几个错误,你应该特别注意第一个错误。在这种情况下,“proof”命令已经给出了一个错误,它说:

Failed to apply initial proof method:
goal (1 subgoal):
 1. 0 < a ⟹ a < 1 ⟹ 0 < b ⟹ b < 1 ⟹ 0 < a + b - a * b
lemma ineq:
  fixes a b :: real
  assumes "a > 0" "a < 1" "b > 0" "b < 1"
  shows   "a + b - a * b > 0"
proof -
  from assms have "1/a > 1/2" and "1/b > 1/2" by (simp_all add: field_simps)
  hence "1/a + 1/b > 1" by simp
  with assms show ?thesis by (simp add: field_simps)
qed