Consider the Java code below. We have already fleshed out a loop invariant for you. Your task is to fill in the missing Hoare logic justifications so that we have a proof that mult returns the product of x and y. You may be inspired by worked examples from class. // precondition: x >= 0 && y >= 0; int mult(int x, int y) { int kx, n = while (k = 0) if (k%2 k /= 2; == y, res = 0; { // @loop_invariant x 1) res = res + n;B * y knres; n = 2; } return res%;B } // post-condition: returns x y *

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
Consider the Java code below. We have already fleshed out a loop invariant for you. Your task is to
fill in the missing Hoare logic justifications so that we have a proof that mult returns the product of x
and y. You may be inspired by worked examples from class.
// precondition: x >= 0 && y >= 0;
int mult(int x, int y) {
int kx, n =
while (k = 0)
if (k%2
k /= 2;
==
y, res = 0;
{ // @loop_invariant x
1) res = res + n;B
*
y
knres;
n = 2;
}
return res%;B
}
// post-condition: returns x y
*
Transcribed Image Text:Consider the Java code below. We have already fleshed out a loop invariant for you. Your task is to fill in the missing Hoare logic justifications so that we have a proof that mult returns the product of x and y. You may be inspired by worked examples from class. // precondition: x >= 0 && y >= 0; int mult(int x, int y) { int kx, n = while (k = 0) if (k%2 k /= 2; == y, res = 0; { // @loop_invariant x 1) res = res + n;B * y knres; n = 2; } return res%;B } // post-condition: returns x y *
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education