如何使用Isabelle / HOL证明以下陈述?

时间:2019-09-23 10:56:43

标签: isabelle first-order-logic

有人可以帮我使用Isabelle / HOL中的以下方程组(一阶逻辑)来证明X=M吗?

N>=M

forall n. 0=<n<N --> n<M

X=N

其中N, M, X是整数常量。 n整数变量。“->”代表隐含

1 个答案:

答案 0 :(得分:2)

仅当变量是自然变量而不是整数(例如整数)时,才能进行证明。使用此证明:

theory Scratch
imports Main
begin
theorem
  fixes N M X :: nat
  assumes "N ≥ M"
  assumes "∀ n. (0 ≤ n ∧ n < N) ⟶ n<M"
  assumes "X = N"
  shows "X = M"
proof-
  have "¬ N > M"
  proof
    assume "M < N" with `∀ n. _` show False by auto
  qed
  with `N ≥ M` and `X = N`
  show "X = M" by auto
qed

end

如果您允许的整数不是反例形式的M=-2N=-1X=-2