- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我写了group的定义在 idris :
data Group: Type -> Type where
Unit: (x: t) -> Group t
(*): Group t -> Group t -> Group t
Inv: Group t -> Group t
postulate
assoc: (a : Group t) -> (b : Group t) -> (c : Group t) -> ((a*b)*c = a*(b*c))
postulate
neutralL: (x: t) -> (a : Group t) -> a * Unit x = a
postulate
neutralR: (x: t) -> (a : Group t) -> Unit x * a = a
postulate
invUnitL: (x: t) -> (a : Group t) -> a * (Inv a) = Unit x
postulate
invUnitR: (x: t) -> (a : Group t) -> (Inv a) * a = Unit x
然后我证明了几个简单的命题:
cong : (a : Group t) -> (b : Group t) -> (c: Group t) -> a = b -> a*c = b*c
cong a b c post = rewrite post in Refl
neutralL1: (x: t) -> (a : Group t) -> a = a * Unit x
neutralL1 x a = rewrite neutralL x a in Refl
neutralR1: (x: t) -> (a : Group t) -> a = Unit x * a
neutralR1 x a = rewrite neutralR x a in Refl
但是,我在证明只有一个单位元素时遇到了问题:
singleUnit : (x: t) -> (y: t) -> (Unit x = Unit y)
我使用一般想法尝试了各种表达式,即 Unit x
= (by neutralL1 y (Unit x)
) = Unit x * Unit y
code> = (by neutralR x (Unit y)
) = Unit y
,但没有成功:
singleUnit x y = rewrite neutralL1 y (Unit x) in neutralR x (Unit y)
singleUnit x y = rewrite neutralL1 y (Unit x) in rewrite neutralR x (Unit y) in Refl
singleUnit x y = rewrite neutralR x (Unit y) in neutralL1 y (Unit x)
singleUnit x y = rewrite neutralR x (Unit y) in rewrite neutralL1 y (Unit x) in Refl
如何证明这一点?我有一种感觉,这里的问题与复杂表达式的替换有关,例如 Unit x * Unit y
.
1 Câu trả lời
不幸的是,这个组的定义不起作用。一般来说,引入新公理(假设)时必须非常小心。
例如很容易看出neutralL
违反了(不同)数据构造函数的不相交原则,即 Constr1 != Constr2
.
starAndUnitAreDisjoint : (*) a (Unit x) = a -> Void
starAndUnitAreDisjoint Refl impossible
现在我们可以证明错误:
contradiction : Void
contradiction = starAndUnitAreDisjoint $ neutralL Z (Unit Z)
喜剧结束了!
你真正想要的是 record
或类型类,请参见例如contrib/Control/Algebra.idrVà contrib/Interfaces/Verified.idr 。此外,Agda 版本在语法上非常接近 Idris(agda-stdlib/src/Algebra.agda,可能还有 Abstract Algebra in Agda 教程)——您可能想看看它们。
关于proof - 重写简单定理证明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44929029/
Tôi đang cố gắng đạt được mục đích sau, giả sử tôi có chuỗi: ( z ) ( A ( z ) ( A ( z ) ( A ( z ) ( A ( z ) ( A ) ) ) ) Tôi muốn viết một biểu thức chính quy
Đã cho: 1 2 3 4 5 6
Thật khó để biết nên hỏi gì ở đây. Câu hỏi này mơ hồ, không đầy đủ, quá rộng hoặc mang tính tu từ và không thể trả lời hợp lý theo hình thức hiện tại. Để được trợ giúp làm rõ vấn đề này để có thể mở lại, hãy truy cập trung tâm trợ giúp. Đóng 1
Xin chào mọi người, tôi là Kasong. Svelte đã tồn tại trong một thời gian dài và tôi luôn muốn viết một bài phân tích nguyên tắc dễ hiểu. Sau khi trì hoãn quá lâu, cuối cùng tôi đã viết nó. Bài viết này sẽ tập trung vào sơ đồ luồng và hai bản demo. Cách đọc đúng là mở bài viết này trên máy tính của bạn và làm theo sơ đồ luồng và bản demo.
Thẻ căn cước có 15 hoặc 18 chữ số. 15 chữ số đều là số, 17 chữ số đầu tiên trong 18 chữ số là số và chữ số cuối cùng là số hoặc chữ in hoa "X". Biểu thức chính quy khớp với: ?
Chúng ta hãy bắt đầu với cái đơn giản nhất, cửa sổ đăng nhập của trang web; nhưng trước khi bắt đầu, hãy tải xuống plugin jquery. Tôi đã quen sử dụng vs2008 để tạo trang web, vì vậy đây là cách dễ nhất để thêm một trang trống trước. . . Chèn đầu tiên <
1. Công cụ kiểm tra ứng suất của MySQL Mysqlslap mysqlslap là một công cụ đánh giá chuẩn đi kèm với MySQL. Công cụ này truy vấn dữ liệu với cú pháp đơn giản, linh hoạt và dễ sử dụng. Công cụ này có thể mô phỏng nhiều máy khách gửi yêu cầu đồng thời đến máy chủ.
Lời nói đầu Hôm nay Dayao sẽ chia sẻ với các bạn một công cụ tạo tài liệu cơ sở dữ liệu (từ điển) mã nguồn mở .NET (Giấy phép MIT), miễn phí, đơn giản và thiết thực, hỗ trợ CHM, Word, Excel, PDF, Html, XML, Markdown, v.v.
Cú pháp của ngôn ngữ Go tương tự như ngôn ngữ C, do đó những người quen thuộc với ngôn ngữ C và các ngôn ngữ phái sinh của nó (C++, C#, Objective-C, v.v.) sẽ nhanh chóng làm quen với ngôn ngữ này. Một số cú pháp của ngôn ngữ C sẽ làm giảm khả năng đọc của mã hoặc thậm chí gây ra sự mơ hồ. Ngôn ngữ Go dựa trên ngôn ngữ C
Tôi đang chuyển đổi mkv sang mp4 nhanh chóng bằng lệnh ffmpeg ffmpeg -i test.mkv -vcodec copy -acodec copy new.mp4 nhưng nó không hoạt động với bất kỳ tệp mkv nào, khi
Tôi muốn đếm số lượng trang tính trong sổ làm việc của mình rồi trừ một trang tính cụ thể khỏi tổng số. Tôi đang bỏ lỡ điều gì? Điều này cho tôi một lỗi đối tượng: wsCount = ThisWorkbook.Sheets.Count - ThisWorkbook
Tôi có một tệp perl để kiểm tra xem có ini nào tồn tại trong một thư mục hay không. Nếu có, nó sẽ đọc từ đó, nếu không, nó sẽ tạo một mẫu dựa trên mẫu mà tôi đã tạo cho nó. Tôi đang sử dụng Config::Simple trong phần ini. Câu hỏi của tôi là, nếu
Đang cố gắng để một ViewController giao tiếp với một ViewController khác thông qua thông báo Cocoa chuẩn. Viết một trường hợp thử nghiệm đơn giản. Trong VC ban đầu của tôi, tôi đã thêm nội dung sau vào viewDirect
Tôi đang vẽ sơ đồ độ cao hiển thị độ cao tăng/giảm dọc theo một đường đi, tương tự như sau: Sơ đồ độ cao mẫu với các nhãn được đặt bằng tay http://img38.image
Xin chào, vậy điều tôi cần làm cuối cùng là có thể hiển thị xen kẽ regStart và regPage dựa trên các sự kiện nhấp chuột, tôi không quá lo lắng về việc viết hàm JavaScript, nhưng ngay từ đầu tôi không thể ẩn regPage của mình được. Đây là mã của tôi. Giữ cho nó đơn giản
Tôi có một chương trình rất đơn giản để đo thời gian thực hiện một hàm. #include #include #include struct Foo { void addSample(uint64_t s)
Tôi cần tạo một chương trình chuyển đổi C# BitConverter đơn giản sang JavaScript. Tôi đã tạo một lớp BitConverter đơn giản BitConverter{ constructor(){} GetBy
Đã đóng. Vấn đề này không thể tái hiện hoặc do lỗi đánh máy. Hiện tại không chấp nhận câu trả lời. Sự cố này xảy ra do lỗi đánh máy hoặc một vấn đề không thể tái hiện được nữa. Mặc dù những câu hỏi tương tự có thể nằm trong chủ đề
Tôi mới biết đến Simple.Data. Nhưng tôi đang gặp khó khăn trong việc tìm cách thực hiện "Nhóm theo". Điều tôi muốn rất cơ bản. Bảng trông như thế này: +_______+ | cards | +_______+ | id |
Hiện tại tôi đang phát triển một JS UDF có vẻ như tuân theo mã hóa. Thông thường, vì số vòng lặp là 2 nên thông báo Alert Msg sẽ xuất hiện hai lần. Điều tôi muốn là ngay cả khi số vòng lặp là 3, thì thông báo Alert Msg sẽ chỉ xuất hiện một lần. Bất kỳ ý tưởng nào
Tôi là một lập trình viên xuất sắc, rất giỏi!