问题描述
我正在Isabelle / HOL中使用Nonstandard_Analysis会话,并且试图证明类型<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<Meta name="viewport" content="width=device-width,initial-scale=1">
<style>
.equal,.equal > div[class*='col-'] {
display: -webkit-Box;
display: -moz-Box;
display: -ms-flexBox;
display: -webkit-flex;
display: flex;
flex:1 1 auto;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="row equal">
<!--begin panel 1 -->
<div class="col-md-4">
<div style="text-align:center" class="panel panel-primary">
<div class="panel-heading">
<h1 class="panel-title text-center">Pending DTO</h1>
</div>
<!-- end panel-heading -->
<div class="panel-body">
<p class="text-left lead2">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,when an unkNown printer took a galley of type and scrambled it to make a type specimen book.</p>
</div>
<!-- end panel-body -->
</div>
<!-- end panel-primary -->
</div>
<!--end col-md-4 -->
<!-- begin panel 2 -->
<div class="col-md-4">
<div style="text-align:center" class="panel panel-primary">
<div class="panel-heading">
<h1 class="panel-title">Gestíon de Redes Socials</h1>
</div>
<!-- end panel-heading -->
<div class="panel-body">
<p class="text-left lead2">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,when an unkNown printer took a galley of type and scrambled it to make a type specimen book.Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,when an unkNown printer took a galley of type and scrambled it to make a type specimen book.</p>
</div>
<!-- end panel-body -->
</div>
<!-- end panel-primary -->
</div>
<!-- end col-md-4 -->
<!--begin panel 3 -->
<div class="col-md-4">
<div style="text-align:center" class="panel panel-primary">
<div class="panel-heading">
<h1 class="panel-title">Test</h1>
</div>
<!-- end panel-heading -->
<div class="panel-body">
<p> test
</p>
</div>
<!-- end panel-body -->
</div>
<!-- end panel-primary -->
</div>
<!-- end col-md-4 -->
</div>
<!-- end row -->
</div>
</body>
</html>
是'a::euclidean_semiring star
的实例。
我正在显示
euclidean_semiring
但出现以下错误
instance star :: (euclidean_semiring) euclidean_semiring
proof (intro_classes)
show "euclidean_size (0::'a star) = (0::nat)"
即使只是陈述所需的目标陈述。似乎有点赶上22。 No type arity star :: euclidean_semiring
指定如下
euclidean_semiring
我已经显示了
class euclidean_semiring = semidom_modulo +
fixes euclidean_size :: "'a ⇒ nat"
assumes size_0 [simp]: "euclidean_size 0 = 0"
assumes mod_size_less:
"b ≠ 0 ⟹ euclidean_size (a mod b) < euclidean_size b"
assumes size_mult_mono:
"b ≠ 0 ⟹ euclidean_size a ≤ euclidean_size (a * b)"
实际上,我想知道这个特定示例给出错误的原因,即使我能够显示类似instance star :: (semidom_modulo) semidom_modulo
之类的东西是因为这个特定类型类instance star :: (semiring_parity) semiring_parity
具有一个参数,即euclidean_semiring
。
当然,我更希望对错误消息有更好的解释和建议的解决方法(如果可能),但是查看证明形式的示例也很有帮助
euclidean_size
尤其是当 instance X :: (Y) Y
是带有参数的类型类时,就像Y
一样。
解决方法
是的,如果类型类具有参数,则必须使用roles.stream()
.collect(Collectors.groupingBy(e -> e,Collectors.counting()))
.entrySet()
.forEach(e -> {
if (e.getValue() > 1) {
System.out.println("found a key which has duplicate value : " + e.getKey());
}
});
并为其提供定义。
instantiation
您可以在使用 instantiation star :: (euclidean_semiring) euclidean_semiring
begin
definition euclidean_size_star where
"euclidean_size_star x = …"
instance proof (intro_classes)
…
qed
end
的库中的任何位置找到示例,例如instantiation
对euclidean_semiring
的实例化。