Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.40 KB | None | 0 0
  1. (set-info :smt-lib-version 2.6)
  2. (set-logic QF_UF)
  3. (set-info :source |
  4. Generated by: Aman Goel (amangoel@umich.edu), Karem A. Sakallah (karem@umich.edu)
  5. Generated on: 2018-04-06
  6.  
  7. Generated by the tool Averroes 2 (successor of [1]) which implements safety property
  8. verification on hardware systems.
  9.  
  10. This SMT problem belongs to a set of SMT problems generated by applying Averroes 2
  11. to benchmarks derived from [2-5].
  12.  
  13. A total of 412 systems (345 from [2], 19 from [3], 26 from [4], 22 from [5]) were
  14. syntactically converted from their original formats (using [6, 7]), and given to
  15. Averroes 2 to perform property checking with abstraction (wide bit-vectors -> terms,
  16. wide operators -> UF) using SMT solvers [8, 9].
  17.  
  18. [1] Lee S., Sakallah K.A. (2014) Unbounded Scalable Verification Based on Approximate
  19. Property-Directed Reachability and Datapath Abstraction. In: Biere A., Bloem R. (eds)
  20. Computer Aided Verification. CAV 2014. Lecture Notes in Computer Science, vol 8559.
  21. Springer, Cham
  22. [2] http://fmv.jku.at/aiger/index.html#beem
  23. [3] http://www.cs.cmu.edu/~modelcheck/vcegar
  24. [4] http://www.cprover.org/hardware/v2c
  25. [5] http://github.com/aman-goel/verilogbench
  26. [6] http://www.clifford.at/yosys
  27. [7] http://github.com/chengyinwu/V3
  28. [8] http://github.com/Z3Prover/z3
  29. [9] http://github.com/SRI-CSL/yices2
  30.  
  31. id: paper_v3
  32. query-maker: "Z3"
  33. query-time: 1.145000 ms
  34. query-class: abstract
  35. query-category: assume
  36. query-type: regular
  37. status: unsat
  38. |)
  39. (set-info :license "https://creativecommons.org/licenses/by/4.0/")
  40. (set-info :category "industrial")
  41.  
  42. ;
  43. (set-info :status unknown)
  44. (declare-sort utt8 0)
  45. (declare-fun z$n1s8 () utt8)
  46. (declare-fun z$n255s8 () utt8)
  47. (declare-fun z$n0s8 () utt8)
  48. (declare-fun x () utt8)
  49. (declare-fun y () utt8)
  50. (declare-fun x$next () utt8)
  51. (declare-fun y$next () utt8)
  52. (declare-fun Gr_1_8_8 (utt8 utt8) Bool)
  53. (declare-fun z$7 () Bool)
  54. (declare-fun z$34 () Bool)
  55. (declare-fun prop () Bool)
  56. (declare-fun z$35 () Bool)
  57. (declare-fun z$42 () Bool)
  58. (declare-fun z$44 () Bool)
  59. (declare-fun z$52 () Bool)
  60. (declare-fun z$53 () Bool)
  61. (declare-fun z$55 () Bool)
  62. (declare-fun z$4 () Bool)
  63. (declare-fun z$51 () Bool)
  64. (declare-fun z$54 () Bool)
  65. (declare-fun z$9 () Bool)
  66. (declare-fun z$86 () Bool)
  67. (declare-fun z$88 () Bool)
  68. (declare-fun z$68 () Bool)
  69. (declare-fun z$85 () Bool)
  70. (declare-fun z$87 () Bool)
  71. (declare-fun z$120 () Bool)
  72. (declare-fun p$0 () Bool)
  73. (assert
  74. (and (distinct z$n0s8 z$n255s8 z$n1s8) true))
  75. (assert
  76. (let (($x243 (Gr_1_8_8 y x)))
  77. (= z$7 $x243)))
  78. (assert
  79. (let (($x91 (not z$7)))
  80. (= z$34 $x91)))
  81. (assert
  82. (= z$35 (= prop z$34)))
  83. (assert
  84. (= z$42 (not prop)))
  85. (assert
  86. (let (($x73 (Gr_1_8_8 y$next x$next)))
  87. (= z$44 $x73)))
  88. (assert
  89. (let (($x157 (= y$next z$n0s8)))
  90. (= z$52 $x157)))
  91. (assert
  92. (= z$53 (and z$44 z$52)))
  93. (assert
  94. (= z$55 (not z$53)))
  95. (assert
  96. (let (($x78 (= y z$n0s8)))
  97. (= z$4 $x78)))
  98. (assert
  99. (= z$51 (and z$7 z$4)))
  100. (assert
  101. (= z$54 (not z$51)))
  102. (assert
  103. (let (($x252 (= y x)))
  104. (= z$9 $x252)))
  105. (assert
  106. (= z$86 (and z$9 z$7)))
  107. (assert
  108. (= z$88 (not z$86)))
  109. (assert
  110. (let (($x284 (= x$next y$next)))
  111. (= z$68 $x284)))
  112. (assert
  113. (= z$85 (and z$68 z$44)))
  114. (assert
  115. (= z$87 (not z$85)))
  116. (assert
  117. (= z$120 (and z$35 z$42 z$55 z$54 z$88 z$87)))
  118. (assert
  119. z$120)
  120. (assert
  121. (let (($x252 (= y x)))
  122. (let (($x89 (= z$9 $x252)))
  123. (=> p$0 $x89))))
  124. (assert
  125. (=> p$0 z$9))
  126. (check-sat)
  127. (assert p$0)
  128. (check-sat)
  129. (exit)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement