Search 5,000,000+ questions and answers.

Frequently Asked Questions

What is the Larch Prover (LP)?

Larch Frequently Asked Questions
The Larch Prover (LP) [Garland-Guttag95] is a program that helps check and debug proofs. It is not geared toward proving conjectures automatically, but rather toward automating the tedious parts of proofs. It automates equational rewriting (proofs by normalization), but does not (by default) automatically try other proof techniques. aid the debugging of specifications (i.e.
Related Questions

Where can I get more information on Larch and Larch languages?

Larch Frequently Asked Questions
A good place to start is the Guttag and Horning's book [Guttag-Horning93]. (This book is sometimes called "the silver book" by Larchers.) Consider it required reading. If you find that all tough going, you might want to start with Liskov and Guttag's book [Liskov-Guttag86], which explains the background and motivates the ideas behind abstraction and specification. (See section 1.9 What is the use of formal specification and formal methods?, for more background.
Related Questions

What is the origin of the name Larch?

Larch Frequently Asked Questions
According to Jim Horning (personal communication, January 20, 1998) and John Guttag (personal communication, March 28 1998): "The name was not selected at PARC (hence from the Sunset Western Garden Book), but at MIT. The project had been known informally there as 'Bicycle'." One day Mike Dertouzos [director of the MIT Laboratory for Computer Science] and John were talking on the phone.
Related Questions

LP, when is it done?

Larch Frequently Asked Questions
Although one cannot list both unknown and hmm in the same converts clause, one could add another converts clause to the trait ConvertsTrait, stating that unknown is converted, relative to the other operators, which in that case include hmm.
Related Questions

What is Larch? What is the Larch family of specification languages?

Larch Frequently Asked Questions
Larch [Guttag-Horning93] may be thought of as an approach to formal specification of program modules. This approach is an extension of Hoare's ideas for program specification [Hoare69] [Hoare72a]. Its distinguishing feature is that it uses two "tiers" (or layers) [Wing83]. The top tier is a behavioral interface specification language (BISL), tailored to a specific programming language. Such BISLs typically use pre- and postcondition specifications to specify software modules.
Related Questions

Why does Larch have two tiers?

Larch Frequently Asked Questions
The two "tiers" used in the Larch family of specification languages are LSL, which is called the bottom tier, and a behavioral interface specification language (a BISL), which is called the top tier. This specification of program modules using two "tiers" is a deliberate design decision (see [Wing83] and [Guttag-Horning93], Chapter 3).
Related Questions

What is the difference between LSL and a Larch BISL?

Larch Frequently Asked Questions
The main difference between LSL and a Larch BISL is that in LSL one specifies mathematical theories of the operators that are used in the pre- and postcondition specifications of a Larch BISL. Thus LSL is used to specify mathematical models and auxiliary functions, and the a Larch BISL is used to specify program modules that are to be implemented in some particular programming language.
Related Questions

How does Larch compare to Z?

Larch Frequently Asked Questions
Like VDM-SL, Z [Hayes93] [Spivey92] (pronounced "zed") is a specification language that allows both the specification of mathematical values and program modules. Like LSL, Z allows the definition of mathematical operators equationally (see [Spivey92], section 3.2.2). A Z schema is roughly comparable to an LSL trait. The main difference between Z and LSL is that in Z specifications can include state variables.
Related Questions

What is the history of the Larch project?

Larch Frequently Asked Questions
The following is adapted from a posting of Horning to the larch-interest mailing list on June 19, 1995, which was itself condensed from the preface of [Guttag-Horning93].) This project has been a long time in the growing. The seed was planted by Steve Zilles on October 3, 1973.
Related Questions

Is there an object-oriented extension to Larch?

Larch Frequently Asked Questions
This question might mean one of several other more precise questions. These questions are discussed below. One question is: is there a Larch-style BISL for some particular object-oriented (OO) programming language? Yes, there are Larch-style BISLs for Modula-3 (see [Guttag-Horning93], chapter 6, and [Jones91]), Smalltalk-80 (see [Cheon-Leavens94]), and C++ (see [Leavens97] [Leavens96b]).
Related Questions

What is the Larch Shared Language (LSL)?

Larch Frequently Asked Questions
The Larch Shared Language (LSL) (see [Guttag-Horning93], Chapter 4, and [Guttag-Horning-Modet90]) is a language for specifying mathematical theories. LSL is a kind of equational algebraic specification language [Guttag75] [Guttag-Horning78] [Goguen-Thatcher-Wagner78] [Ehrig-Mahr85] [Futatsugi-etal85] [Mosses96] [Loeckx-Ehrich-Wolf96]. That is, specifications in LSL mainly consist of first-order equations between terms.
Related Questions

Where can I get an implementation of LP?

Larch Frequently Asked Questions
Currently, LP only runs on Unix machines. You can get an implementation of LP using the world-wide web, starting at the following URL. http://www.sds.lcs.mit.edu/spd/larch/LP/news/distribution.html You can also get an implementation by anonymous ftp from the following URL. ftp://ftp.sds.lcs.mit.edu/pub/Larch/LP/ See section 2.
Related Questions

How do I interrupt LP?

Larch Frequently Asked Questions
If you are running LP under Unix, the Unix "quit" character (usually C-g, that's control-g) will interrupt LP's execution. See section 3.6 Can I change the erase character in LP?, for other characters that aid in editing interactive input to LP. See section 3.20 How can I develop a proof that I can replay later?, for a way to avoid tedium and much direct interaction with LP.
Related Questions

What are the advantages of using the Larch two-tiered approach?

Larch Frequently Asked Questions
Having different BISLs tailored to each programming language allows each BISL to specify all the details of a program module's interface (how to call it) and behavior (what it does). If one has a generic interface specification language, such as VDM-SL [Jones90] [ISO-VDM96] [Fitzgerald-Larsen98], then one cannot specify all interface details. The division into two tiers allows the language used for each tier to be more carefully designed and expressive.
Related Questions

How does Larch compare to other specification languages?

Larch Frequently Asked Questions
First, a more precise comparison is needed, because Larch is not a single language, but a family of languages (see above). Another problem with this comparison is that Larch has two tiers, but VDM-SL [Jones90] [ISO-VDM96] [Fitzgerald-Larsen98], Z [Hayes93] [Spivey92], and COLD-K [Feijs-Jonkers92] are all integrated languages, which mix aspects of both of the tiers of the Larch family.
Related Questions

How does Larch compare to VDM-SL?

Larch Frequently Asked Questions
By VDM, one means, of course, the specification language VDM-SL [Jones90] [ISO-VDM96] [Fitzgerald-Larsen98]. In comparison with LSL, in VDM-SL one can specify mathematical values (models) using constructs similar to those in denotational semantics and typed, functional programming languages.
Related Questions

How does Larch compare to COLD-K?

Larch Frequently Asked Questions
Like Larch, COLD-K [Feijs-Jonkers92] makes more of a separation into mathematical and interface specifications, although all are part of the same language. The part of COLD-K comparable to LSL is its algebraic specifications (see [Feijs-Jonkers92], Chapters 2 and 3). In contrast to LSL, COLD-K does not use classical logic, and can specify partial functions. All COLD-K types have an "undefined" element, except the type of the Booleans.
Related Questions

What is LP Gas?

FAQ
Liquefied petroleum gas is a petroleum product separated out of natural gas and crude oil in the refining process. It looks and acts just like water, except for its boiling point. The boiling of liquefied petroleum gas produces a "steam" of a colorless, odorless flammable gas. odorant, usually ethyl mercaptan, is added to propane as a warning agent. This sulfur compound gives the gas its rotten egg odor.
Related Questions

Will an MDS-W1 move LP mode tracks?

Minidisc Frequently Asked Questions
The Sony MDS-W1 double MD deck will not move LP mode tracks properly. When the MDS-W1 moves LP2 and LP4 tracks to another disc it sets their SP bits on in the UTOC track header, turning LP4 tracks into (silent) SP mono and LP2 tracks into (silent) SP stereo. The track's audio data is copied properly however, so with careful use of TOC cloning to restore the LP bit in the track header, copied LP tracks will play correctly.
Related Questions

What kind of examples have already been treated by LP?

Larch Frequently Asked Questions
The original reason LP was built to help debug formal specifications (see [Garland-Guttag-Horning90] and Chapter 7 of [Guttag-Horning93]). It has, however, also been used for several other purposes, including the following (reported in messages to the larch-interest mailing list, February 7 and July 23, 1994).
Related Questions

Can I change the erase character in LP?

Larch Frequently Asked Questions
According to Garland (posting on the larch-interest mailing list, July 14, 1995), the erase (or rubout) character used by LP cannot be changed easily. The reason is that "LP is written in CLU, and LP's line editing features are provided by the CLU runtime environment. This environment hard-wires the delete key [DEL] as the rubout character." You can erase the current line in LP by typing a C-u (control-U). You can redisplay the current line by typing C-r.
Related Questions

Can you give me some tips on proving things with LP?

Larch Frequently Asked Questions
The most important tip for using LP is to think about your conjectures, and to be very skeptical of their truth. When you first start using LP, you will be tempted to have it do the thinking for you. You may find yourself trying random proof techniques to prove the current subgoal. Resist that temptation! Curb your desire for automatic proof! Instead, use one of the following two ideas (see the section titled "Sample Proofs: how to guide a proof" in [Garland-Guttag95]).
Related Questions

What pitfalls are there for LP users?

Larch Frequently Asked Questions
The biggest pitfall is to not think about what you are doing, but to simply try random proof strategies. This quickly becomes frustrating. See section 3.15 Can you give me some tips on proving things with LP?, for how to work with LP in a more fruitful way. If your theory is inconsistent, proofs may not be easy, but they will always be possible. Always try to convince yourself of your theory's consistency before celebrating your proof. See section 3.
Related Questions

How do I prove that my theory is consistent with LP?

Larch Frequently Asked Questions
It is difficult to prove a theory is consistent using LP. However, one can profitably use LP to search for inconsistency. (See section 2.18 What pitfalls are there for LSL specifiers?, for some common LSL problems that lead to inconsistency.) One way to use LP to search for inconsistency is using the complete command. This directs LP to attempt to add enough rewrite rules to make the theory equationally complete.
Related Questions

How high quality is the LP mode audio?

Minidisc Frequently Asked Questions
LP2 mode is reportedly quite close to standard ATRAC. LP4 mode has noticeable artifacts, but is still suitable for portable applications. Brian Youn has assembled some user comments on MDLP mode's quality. There are also comments in the Sony MZ-R900 equipment browser entry.
Related Questions

What is the genetic status of a horse that has inherited no Lp gene?

FAQ
Until there is a lab test for Lp, the current method of physical inspection of solid Appaloosas is all we have. When it has been decided that the horse is definitely non-characteristic, it should be recognized that this is still potentially a useful breeding animal. This horse many have inherited at least some of the white-helping genes that assist the white Appaloosa pattern gene (Lp).
Related Questions

How does LP compare with other theorem provers?

Larch Frequently Asked Questions
The basic difference between LP and other theorem provers is that LP does not automatically attempt complex (i.e., interesting or speculative) proof steps. LP also has no way to write general proof strategies or tactics (as can be done in PVS, LCF, and other theorem provers). An additional convenience is that there are tools for supporting the translation of LSL specifications into LP's input format.
Related Questions

Is there a command reference or list of LP commands?

Larch Frequently Asked Questions
Yes, there is a summary of LP's commands in the section titled "Command Summary" of [Garland-Guttag95]. For ease of reference, you can find this at the following URL. http://www.sds.lcs.mit.edu/spd/larch/LP/commands/commands.html Within an LP process, you can see this by issuing the command help commands. Use help display to see help on the command display. Use display ? to see the arguments you can pass to the command display.
Related Questions

Do I need to use LSL if I use LP?

Larch Frequently Asked Questions
No, you do not need to use LSL if you use LP. LP has its own input format (although it is very similar to LSL's input format). So, many users of LP simply bypass LSL, and use LP exclusively. On the other hand, using LSL as an input format to LP has the following advantages. The LSL checker automatically generates proof management commands (scripting and logging) for LP, and helps organize theories and conjectures into files. See section 3.10 How do I use LP to check my LSL traits?.
Related Questions

Got A Question? Ask Our Community!


More Questions >>

© Copyright 2007-2008 QueryCAT
About • Webmasters • Contact