在证据中,我需要对列表l
的长度进行案例分析。
length l < 2
一个案例(+
之类的二元操作不适用时)length l >= 2
为另一种情况时(二元操作适用)如何使用destruct
或其他一些策略来做到这一点,并获得两种情况,即真和假?
我试过了:
destruct (length l < 2).
destruct (lt (length l) 2).
remember (length l < 2).
destruct HeqP.
但都没有效果。
答案 0 :(得分:2)
你需要一个建设性的&#34;版本<
,因为标准版本位于Prop
,因此您无法对其进行案例分析。
您可以使用compare
,le_lt_dec
或布局版<
(在文档中搜索所有选项,最简单的选项应为this one)。
如果你真的需要测试2的长度,你也可以破坏length n
3次并手动处理3个案例。
答案 1 :(得分:2)
Vinz的答案是对的。当你需要考虑两个你认识不同的情况时,它通常是因为它们是可判定的,所以寻找以<!DOCTYPE html>
<html>
<head>
<script>
function getInformation() {
var strColor = prompt("What is your favorite color");
var strFirstName = document.getElementById("txtName").value;
var strYourAge = document.getElementById("txtAge").value;
document.body.style.backgroundColor= strColor;
alert(strFirstName + "Your favorite background color was applied to the backgrond of the page. \n\n and your age is" + strYourAge);
}
</script>
</head>
<body>
<form>
<table>
<tr>
<td><label>First Name</label>
</tr>
<tr>
<td><input id="txtName" type="text" name="Name" required></td>
</tr>
<tr>
<td><label>Your Age</label></td>
</tr>
<tr>
<td><input id="txtAge" type="number" name="Age" required></td>
</tr>
<tr>
<td><button onclick="getInformation()">Submit</button></td>
</tr>
</table>
</form>
</body>
</html>
结尾的引理。在这种情况下,_dec
在lt_dec
中定义,您可以在导入Arith时获得它。所以:
Compare_dec
现在第一个目标是
Require Import Arith.
Goal forall (l:list nat), True.
intro. destruct (lt_dec (length l) 2).
,第二个目标是
l : list nat
l0 : length l < 2
============================
True