Context: Mathematics (from Greek  "máthma", knowledge, study, learning) is the study of topics such as quantity (numbers), structure, space, and change. There is a range of views among mathematicians and philosophers as to the exact scope and definition of mathematics., Computer science is the study of the theory, experimentation, and engineering that form the basis for the design and use of computers. It is the scientific and practical approach to computation and its applications and the systematic study of the feasibility, structure, expression, and mechanization of the methodical procedures (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information. An alternate, more succinct definition of computer science is the study of automating algorithmic processes that scale. A computer scientist specializes in the theory of computation and the design of computational systems., Set theory is a branch of mathematical logic that studies sets, which informally are collections of objects. Although any type of object can be collected into a set, set theory is applied most often to objects that are relevant to mathematics. The language of set theory can be used in the definitions of nearly all mathematical objects., The Calculus of Constructions ( CoC ) is a type theory created by Thierry Coquand . It can serve as both a typed programming language and as constructive foundation for mathematics . For this second reason , the CoC and its variants have been the basis for Coq and other proof assistants . Some of its variants include the calculus of inductive constructions ( which adds inductive types ) , the calculus of ( co ) inductive constructions ( which adds coinduction ) , and the predicative calculus of inductive constructions ( which removes some impredicativity ) ., In mathematics, logic, and computer science, a type theory is any of a class of formal systems, some of which can serve as alternatives to set theory as a foundation for all mathematics. In type theory, every "term" has a "type" and operations are restricted to terms of a certain type., In computer science, Coq is an interactive theorem prover. It allows the expression of mathematical assertions, mechanically checks proofs of these assertions, helps to find formal proofs, and extracts a certified program from the constructive proof of its formal specification. Coq works within the theory of the calculus of inductive constructions, a derivative of the calculus of constructions. Coq is not an automated theorem prover but includes automatic theorem proving tactics and various decision procedures., A formal proof or derivation is a finite sequence of sentences (called well-formed formulas in the case of a formal language), each of which is an axiom, an assumption, or follows from the preceding sentences in the sequence by a rule of inference. The last sentence in the sequence is a theorem of a formal system. The notion of theorem is not in general effective, therefore there may be no method by which we can always find a proof of a given sentence or determine that none exists. The concept of natural deduction is a generalization of the concept of proof., In mathematics, a constructive proof is a method of proof that demonstrates the existence of a mathematical object by creating or providing a method for creating the object. This is in contrast to a non-constructive proof (also known as an "existence proof" or "pure existence theorem") which proves the existence of a particular kind of object without providing an example., A formal system or logical calculus is any well-defined system of abstract thought based on the model of mathematics. A formal system need not be mathematical as such; for example, Spinoza's "Ethics" imitates the form of Euclid's "Elements".. Spinoza employed Euclidiean elements such as "axioms" or "primitive truths", rules of inferences etc. so that a calculus can be build using these. For nature of such primitive truths, one can consult Tarski's "Concept of truth for a formalized language". , In computer science and mathematical logic, a proof assistant or interactive theorem prover is a software tool to assist with the development of formal proofs by human-machine collaboration. This involves some sort of interactive proof editor, or other interface, with which a human can guide the search for proofs, the details of which are stored in, and some steps provided by, a computer., Subject: calculus of constructions, Relation: instance_of, Options: (A) branch (B) class (C) communication (D) computer (E) concept (F) design (G) formal system (H) information (I) language (J) mathematical object (K) mathematics (L) method (M) object (N) programming (O) programming language (P) quantity (Q) reason (R) scale (S) science (T) set theory (U) structure (V) study (W) theory (X) truth
Output: formal system