有人可以帮我使用Isabelle / HOL中的以下方程组(一阶逻辑)来证明X=M
吗?
N>=M
forall n. 0=<n<N --> n<M
X=N
其中N, M, X
是整数常量。 n
整数变量。“->”代表隐含
答案 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=-2
,N=-1
和X=-2
。