@@ -20,27 +20,10 @@ info:
20
20
include_flag : ~
21
21
backend_options : ~
22
22
-- -
23
- exit = 1
24
- [[stdout .diagnostics ]]
25
- message = ' ' '
26
- (AST import) something is not implemented yet.This is discussed in issue https://github.com/hacspec/hax/issues/156.
27
- Please upvote or comment this issue if you see this error message .
28
- Sorry , Hax does not support declare - first let bindings (see https: // doc.rust-lang.org/rust-by-example/variable_bindings/declare.html) for now.'''
29
- spans = [' Span { lo: Loc { line: 301, col: 17 }, hi: Loc { line: 301, col: 22 }, filename: Real(LocalPath("/home/nadrieril/wip/work/hax/hax-bounded-integers/src/lib.rs")), rust_span_data: None }' ]
30
-
31
- [[stdout .diagnostics ]]
32
- message = ' ' '
33
- (AST import) something is not implemented yet.This is discussed in issue https://github.com/hacspec/hax/issues/156.
34
- Please upvote or comment this issue if you see this error message .
35
- Sorry , Hax does not support declare - first let bindings (see https: // doc.rust-lang.org/rust-by-example/variable_bindings/declare.html) for now.'''
36
- spans = [' Span { lo: Loc { line: 301, col: 30 }, hi: Loc { line: 301, col: 32 }, filename: Real(LocalPath("/home/nadrieril/wip/work/hax/hax-bounded-integers/src/lib.rs")), rust_span_data: None }' ]
37
-
38
- [[stdout .diagnostics ]]
39
- message = ' ' '
40
- (AST import) something is not implemented yet.This is discussed in issue https://github.com/hacspec/hax/issues/156.
41
- Please upvote or comment this issue if you see this error message .
42
- Sorry , Hax does not support declare - first let bindings (see https: // doc.rust-lang.org/rust-by-example/variable_bindings/declare.html) for now.'''
43
- spans = [' Span { lo: Loc { line: 295, col: 19 }, hi: Loc { line: 295, col: 24 }, filename: Real(LocalPath("attributes/src/lib.rs")), rust_span_data: None }' ]
23
+ exit = 0
24
+
25
+ [stdout ]
26
+ diagnostics = []
44
27
45
28
[stdout .files ]
46
29
" Attributes.Ensures_on_arity_zero_fns.fst" = ' ' '
@@ -74,24 +57,25 @@ open FStar.Mul
74
57
type t_Dummy = | Dummy : t_Dummy
75
58
76
59
[@@ FStar .Tactics .Typeclasses .tcinstance ]
77
- let impl_1: Core .Marker .t_StructuralPartialEq t_Dummy = { __marker_trait = () }
60
+ assume
61
+ val impl_1 ' : Core.Marker.t_StructuralPartialEq t_Dummy
62
+
63
+ unfold
64
+ let impl_1 = impl_1 '
78
65
79
66
[@@ FStar.Tactics.Typeclasses.tcinstance]
80
- let impl_2: Core .Cmp .t_PartialEq t_Dummy t_Dummy =
81
- {
82
- f_eq_pre = (fun (self : t_Dummy ) (other : t_Dummy ) - > true );
83
- f_eq_post = (fun (self : t_Dummy ) (other : t_Dummy ) (out : bool ) - > true );
84
- f_eq = fun (self : t_Dummy ) (other : t_Dummy ) - > true
85
- }
67
+ assume
68
+ val impl_2 ' : Core.Cmp.t_PartialEq t_Dummy t_Dummy
69
+
70
+ unfold
71
+ let impl_2 = impl_2 '
86
72
87
73
[@@ FStar.Tactics.Typeclasses.tcinstance]
88
- let impl: Core .Cmp .t_Eq t_Dummy =
89
- {
90
- _super_5579681813951091494 = FStar .Tactics .Typeclasses .solve ;
91
- f_assert_receiver_is_total_eq_pre = (fun (self : t_Dummy ) - > true );
92
- f_assert_receiver_is_total_eq_post = (fun (self : t_Dummy ) (out : Prims .unit ) - > true );
93
- f_assert_receiver_is_total_eq = fun (self : t_Dummy ) - > ()
94
- }
74
+ assume
75
+ val impl ' : Core.Cmp.t_Eq t_Dummy
76
+
77
+ unfold
78
+ let impl = impl '
95
79
96
80
let impl_Dummy__f (self: t_Dummy)
97
81
: Prims .Pure t_Dummy
@@ -145,21 +129,14 @@ open FStar.Mul
145
129
146
130
unfold type t_Int = int
147
131
148
- [@@ FStar .Tactics .Typeclasses .tcinstance ]
149
- let impl_1: Core .Clone .t_Clone t_Int =
150
- {
151
- f_clone_pre = (fun (self : t_Int ) - > true );
152
- f_clone_post = (fun (self : t_Int ) (out : t_Int ) - > true );
153
- f_clone
154
- =
155
- fun (self : t_Int ) - >
156
- Rust_primitives .Hax .failure " (AST import) something is not implemented yet.This is discussed in issue https://github.com/hacspec/hax/issues/156.\n Please upvote or comment this issue if you see this error message.\n Sorry, Hax does not support declare-first let bindings (see https://doc.rust-lang.org/rust-by-example/variable_bindings/declare.html) for now."
157
- " "
158
- }
132
+ let impl_1: Core .Clone .t_Clone t_Int = { f_clone = (fun x -> x ) }
159
133
160
134
[@@ FStar .Tactics .Typeclasses .tcinstance ]
161
- let impl: Core .Marker .t_Copy t_Int =
162
- { _super_15837849249852401974 = FStar .Tactics .Typeclasses .solve }
135
+ assume
136
+ val impl ' : Core.Marker.t_Copy t_Int
137
+
138
+ unfold
139
+ let impl = impl '
163
140
164
141
unfold let add x y = x + y
165
142
@@ -494,117 +471,56 @@ let t_BoundedAbsI16 (v_B: usize) =
494
471
(Rust_primitives .Hax .Int .from_machine x < : Hax_lib .Int .t_Int ) <=
495
472
(Rust_primitives .Hax .Int .from_machine v_B < : Hax_lib .Int .t_Int ) }
496
473
497
- [@@ FStar.Tactics.Typeclasses.tcinstance]
498
- let impl (v_B : usize ) : Core .Clone .t_Clone (t_BoundedAbsI16 v_B ) =
499
- {
500
- f_clone_pre = (fun (self : t_BoundedAbsI16 v_B ) - > true );
501
- f_clone_post = (fun (self : t_BoundedAbsI16 v_B ) (out : t_BoundedAbsI16 v_B ) - > true );
502
- f_clone
503
- =
504
- fun (self : t_BoundedAbsI16 v_B ) - >
505
- Rust_primitives .Hax .failure " (AST import) something is not implemented yet.This is discussed in issue https://github.com/hacspec/hax/issues/156.\n Please upvote or comment this issue if you see this error message.\n Sorry, Hax does not support declare-first let bindings (see https://doc.rust-lang.org/rust-by-example/variable_bindings/declare.html) for now."
506
- " "
507
- }
474
+ let impl (v_B : usize ) : Core .Clone .t_Clone (t_BoundedAbsI16 v_B ) = { f_clone = (fun x - > x ) }
508
475
509
476
[@@ FStar.Tactics.Typeclasses.tcinstance]
510
- let impl_1 (v_B : usize ) : Core .Marker .t_Copy (t_BoundedAbsI16 v_B ) =
511
- { _super_15837849249852401974 = FStar .Tactics .Typeclasses .solve }
477
+ assume
478
+ val impl_1': v_B : usize -> Core .Marker .t_Copy (t_BoundedAbsI16 v_B )
479
+
480
+ unfold
481
+ let impl_1 (v_B : usize ) = impl_1' v_B
512
482
513
483
[@@ FStar.Tactics.Typeclasses.tcinstance]
514
- let impl_3 (v_B : usize ) : Core .Marker .t_StructuralPartialEq (t_BoundedAbsI16 v_B ) =
515
- { __marker_trait = () }
484
+ assume
485
+ val impl_3': v_B: usize -> Core.Marker.t_StructuralPartialEq (t_BoundedAbsI16 v_B )
486
+
487
+ unfold
488
+ let impl_3 (v_B : usize ) = impl_3' v_B
516
489
517
490
[@@ FStar.Tactics.Typeclasses.tcinstance]
518
- let impl_4 (v_B : usize ) : Core .Cmp .t_PartialEq (t_BoundedAbsI16 v_B ) (t_BoundedAbsI16 v_B ) =
519
- {
520
- f_eq_pre = (fun (self : t_BoundedAbsI16 v_B ) (other : t_BoundedAbsI16 v_B ) - > true );
521
- f_eq_post = (fun (self : t_BoundedAbsI16 v_B ) (other : t_BoundedAbsI16 v_B ) (out : bool ) - > true );
522
- f_eq = fun (self : t_BoundedAbsI16 v_B ) (other : t_BoundedAbsI16 v_B ) - > self ._0 = . other ._0
523
- }
491
+ assume
492
+ val impl_4': v_B: usize -> Core.Cmp.t_PartialEq (t_BoundedAbsI16 v_B ) (t_BoundedAbsI16 v_B )
493
+
494
+ unfold
495
+ let impl_4 (v_B : usize ) = impl_4' v_B
524
496
525
497
[@@ FStar.Tactics.Typeclasses.tcinstance]
526
- let impl_2 (v_B : usize ) : Core .Cmp .t_Eq (t_BoundedAbsI16 v_B ) =
527
- {
528
- _super_5579681813951091494 = FStar .Tactics .Typeclasses .solve ;
529
- f_assert_receiver_is_total_eq_pre = (fun (self : t_BoundedAbsI16 v_B ) - > true );
530
- f_assert_receiver_is_total_eq_post = (fun (self : t_BoundedAbsI16 v_B ) (out : Prims .unit ) - > true );
531
- f_assert_receiver_is_total_eq
532
- =
533
- fun (self : t_BoundedAbsI16 v_B ) - >
534
- Rust_primitives .Hax .failure " (AST import) something is not implemented yet.This is discussed in issue https://github.com/hacspec/hax/issues/156.\n Please upvote or comment this issue if you see this error message.\n Sorry, Hax does not support declare-first let bindings (see https://doc.rust-lang.org/rust-by-example/variable_bindings/declare.html) for now."
535
- " "
536
- }
498
+ assume
499
+ val impl_2': v_B: usize -> Core.Cmp.t_Eq (t_BoundedAbsI16 v_B )
500
+
501
+ unfold
502
+ let impl_2 (v_B : usize ) = impl_2' v_B
537
503
538
504
[@@ FStar.Tactics.Typeclasses.tcinstance]
539
- let impl_6 (v_B : usize ) : Core .Cmp .t_PartialOrd (t_BoundedAbsI16 v_B ) (t_BoundedAbsI16 v_B ) =
540
- {
541
- _super_17767811571638026139 = FStar .Tactics .Typeclasses .solve ;
542
- f_partial_cmp_pre = (fun (self : t_BoundedAbsI16 v_B ) (other : t_BoundedAbsI16 v_B ) - > true );
543
- f_partial_cmp_post
544
- =
545
- (fun
546
- (self : t_BoundedAbsI16 v_B )
547
- (other : t_BoundedAbsI16 v_B )
548
- (out : Core .Option .t_Option Core .Cmp .t_Ordering )
549
- - >
550
- true );
551
- f_partial_cmp
552
- =
553
- fun (self : t_BoundedAbsI16 v_B ) (other : t_BoundedAbsI16 v_B ) - >
554
- Core .Cmp .f_partial_cmp #i16 #i16 #FStar .Tactics .Typeclasses .solve self ._0 other ._0
555
- }
505
+ assume
506
+ val impl_6': v_B: usize -> Core.Cmp.t_PartialOrd (t_BoundedAbsI16 v_B ) (t_BoundedAbsI16 v_B )
507
+
508
+ unfold
509
+ let impl_6 (v_B : usize ) = impl_6' v_B
556
510
557
511
[@@ FStar.Tactics.Typeclasses.tcinstance]
558
- let impl_5 (v_B : usize ) : Core .Cmp .t_Ord (t_BoundedAbsI16 v_B ) =
559
- {
560
- _super_8562072132021960682 = FStar .Tactics .Typeclasses .solve ;
561
- _super_17650760217149814164 = FStar .Tactics .Typeclasses .solve ;
562
- f_cmp_pre = (fun (self : t_BoundedAbsI16 v_B ) (other : t_BoundedAbsI16 v_B ) - > true );
563
- f_cmp_post
564
- =
565
- (fun (self : t_BoundedAbsI16 v_B ) (other : t_BoundedAbsI16 v_B ) (out : Core .Cmp .t_Ordering ) - > true
566
- );
567
- f_cmp
568
- =
569
- fun (self : t_BoundedAbsI16 v_B ) (other : t_BoundedAbsI16 v_B ) - >
570
- Core .Cmp .f_cmp #i16 #FStar .Tactics .Typeclasses .solve self ._0 other ._0
571
- }
512
+ assume
513
+ val impl_5': v_B: usize -> Core.Cmp.t_Ord (t_BoundedAbsI16 v_B )
514
+
515
+ unfold
516
+ let impl_5 (v_B : usize ) = impl_5' v_B
572
517
573
518
[@@ FStar.Tactics.Typeclasses.tcinstance]
574
- let impl_7 (v_B : usize ) : Core .Hash .t_Hash (t_BoundedAbsI16 v_B ) =
575
- {
576
- f_hash_pre
577
- =
578
- (fun
579
- (#e_ee_H : Type0 )
580
- (#[FStar .Tactics .Typeclasses .tcresolve ()] i1 : Core .Hash .t_Hasher e_ee_H )
581
- (self : t_BoundedAbsI16 v_B )
582
- (state : e_ee_H )
583
- - >
584
- true );
585
- f_hash_post
586
- =
587
- (fun
588
- (#e_ee_H : Type0 )
589
- (#[FStar .Tactics .Typeclasses .tcresolve ()] i1 : Core .Hash .t_Hasher e_ee_H )
590
- (self : t_BoundedAbsI16 v_B )
591
- (state : e_ee_H )
592
- (out : e_ee_H )
593
- - >
594
- true );
595
- f_hash
596
- =
597
- fun
598
- (#e_ee_H : Type0 )
599
- (#[FStar .Tactics .Typeclasses .tcresolve ()] i1 : Core .Hash .t_Hasher e_ee_H )
600
- (self : t_BoundedAbsI16 v_B )
601
- (state : e_ee_H )
602
- - >
603
- let state: e_ee_H =
604
- Core .Hash .f_hash #i16 #FStar .Tactics .Typeclasses .solve #e_ee_H self ._0 state
605
- in
606
- state
607
- }
519
+ assume
520
+ val impl_7': v_B: usize -> Core.Hash.t_Hash (t_BoundedAbsI16 v_B )
521
+
522
+ unfold
523
+ let impl_7 (v_B : usize ) = impl_7' v_B
608
524
609
525
let double_abs_i16 (v_N v_M : usize ) (x : t_BoundedAbsI16 v_N )
610
526
: Prims.Pure (t_BoundedAbsI16 v_M )
0 commit comments