Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calculus of constructions #142

Open
Chandanra65 opened this issue Nov 25, 2024 · 0 comments
Open

Calculus of constructions #142

Chandanra65 opened this issue Nov 25, 2024 · 0 comments

Comments

@Chandanra65
Copy link

Chandanra65 commented Nov 25, 2024

With Creative Commons licenses, you keep your copyright but share your creativity. CC licenses allow others to copy and distribute your work, provided they give you credit and follow the conditions you specify. CC licenses are a great choice for musicians who want to encourage fans to remix their songs, scientists who want to ensure their research is freely available, and any other creator who would like to share their work while still retaining some rights.

Selecting a License

http://creativecommons.org/license/

Creative Commons offers six different content licenses. The first step to sharing your work is to select the license that’s right for you. The Creative Commons license chooser helps you select a CC license that matches the conditions you want. It also provides you with a snippet of code for your website to signal which license you’ve chosen.

Marking Your Content

http://creativecommons.org/projects/marking

Choosing a license is only the first step; a CC license is only effective if others have a way of knowing about it. It is important to clearly mark your content so that others are aware of what permissions they have. One way to do this is to copy the code snippet from the license chooser and paste it into the HTML of your website. It is also recommended you display the license within the work itself, especially if your content will be shared online or displayed in a physical medium.  Different types of content will have different limitations, but your marker should contain:

1.  The full URL (link) to the license. 

Example: http://creativecommons.org/licenses/by/3.0/us/

2.  Optionally, the Creative Commons license icons,  including the CC logo.

CC icons may be downloaded from the Press Kit page at http://creativecommons.org/presskit/. Markers and video bumpers are available on the CC wiki, but you can also make your own. You may also want to include a copyright notice stating the author(s) and date of creation. The phrase “Some Rights Reserved” may be used to differentiate from the default “All Rights Reserved” copyright notice.

Except where otherwise noted, this work is licensed under

http://creativecommons.org/licenses/by-sa/3.0/                                   


Because each CC license represents a different set of permissions and restrictions, it is important to note the specific license used.

Displaying only the c icon, “Creative Commons”, or “Some Rights Reserved” is insufficient, always include the full URL.

In order for others to credit you for your work, it is preferable to provide an attribution name and URL. If your work is a derivative or remix, you must also properly attribute the original creator(s). Unless the creator(s) have specified otherwise, displaying their name(s) and a URL (if applicable) is adequate attribution.

Marking Text

http://wiki.creativecommons.org/Marking_Text

Text-based documents should contain a CC marker — a graphic or line of text stating the license — wherever a copyright notice would go, such as in a footer or on a cover page. For documents containing images, markers should ideally include the CC icons and full URL to the license. For plain text documents, the CC icons may be replaced with the name of the license (e.g. Creative Commons AttributionNoncommercial) or the abbreviation (e.g. CC BY-NC). In both cases the full URL to the license should be included. A copyright notice stating the author(s), date, and copyright should also be included. Sample markers may be downloaded at http://wiki.creativecommons.org/CC_markers.

This work is licensed under a Creative Commons Attribution-Noncommercial License (US/v3.0). 

Noncommercial uses are thus permitted without any further permission from the copyright owner.

Permissions beyond the scope of this license are administered by Random House. Information on how to request permission may be found at:

http://www.randomhouse.com/about/

permissions.html

Marking Images

http://wiki.creativecommons.org/Marking_Image

Marking Audio

For images, a CC marker — a graphic or line of text stating the license — should be displayed on or near the image. Markers should ideally include the CC icons and full URL to the license. For plain text captions, the CC icons may be replaced with the name of the license (e.g. Creative Commons Attribution) or the abbreviation (e.g. CC BY). In both cases the full URL to the license should be included. A copyright notice stating the author(s), date, and copyright should also be included. Sample markers may be downloaded at http://wiki.creativecommons.org/CC_markers. http://wiki.creativecommons.org/Marking_Audio

There are a variety of ways to mark audio. One option is an audio bumper – a brief sound clip at the beginning or end of your audio work that states the author(s) and CC license. If you record your own audio bumper, be sure to include the full URL to the license and/or the full name of the license (including version number). A copyright notice stating the author(s), date, and copyright should also be included. Sample bumpers may be downloaded at http://wiki.creativecommons.org/User_submitted_bumpers.

Example Script:

Except where otherwise noted, this work is licensed under LICENSE.

© 2007, AUTHOR(S). Some Rights Reserved.

Another way to mark audio is with a CC marker – a graphic or line of text stating the license – next to the file (on a webpage) or in the liner notes (for physical media). For more information about CC markers, see Marking Image above.

Marking Video

http://wiki.creativecommons.org/Marking_Video

Video should contain a video bumper — a notice at the beginning or end of your video that states the author(s) and CC license. If you make your own video bumper, be sure to include the CC license icons (including the CC logo) and the full URL to the license. The CC icons may be replaced with the name of the license or the abbreviation. A copyright notice stating the author(s), date, and copyright should also be included. Sample bumpers may be downloaded from http://wiki.creativecommons.org/CC_video_bumpers.

https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses
Another way to mark video is with a CC marker – a graphic or line of text stating the license – next to the file (on a webpage) or in the liner notes (for physical media). For more information about CC markers, see Marking Image above.

Publishing Your Work Through a File Sharing or Social Networking Site

http://wiki.creativecommons.org/Web_Integration

File-sharing and social networking sites like YouTube, Flickr and MySpace are a popular option for publishing and distributing content. Some sites like Flickr (photo sharing), ccMixter (community music and remix), and Scribd (document sharing) allow you to select a license for your work from within the website itself. For sites lacking this functionality, we recommend cutting and pasting the HTML code generated by our license chooser (http://creativecommons.org/license/) into the description field so that users know that your work is CC licensed.

Embedding License Information

http://wiki.creativecommons.org/XMP

Metadata is machine-readable information embedded within a digital file. Properly formatted metadata can communicate CC license information to your computer, MP3 player, ebook reader, etc. Some formats (such as MP3 and SVG) support license metadata better than others. Creative Commons supports the use of XMP for embedding and retrieving standardized, mediaspecific metadata.

Participate

http://wiki.creativecommons.org/

Please visit the Creative Commons Wiki for more information on this project and to participate in refining these documentation efforts. See the developer (cc-devel) mailing list (http://lists.ibiblio.org/mailman/listinfo/cc-devel) for information on subscribing and list archives. Finally, help out by adding your CC-licensed project to our Content Directories (http://wiki.creativecommons.org/Content_Directories).

• Tis a term (also called type);

• P is a term (also called prop, the type of all propositions);

• Variables (æ,y,...) are terms;
• If A and B are terms, then so is (AB):

• If A and B are terms and z is a variable, then the following are also terms:
• (Az: A. B),
o (Ve:A.B).

In other words, the term syntax, in Backus-Naur form, is then:

e =T|P |z |ee|Az:e. e | Ve:e. e
The calculus of constructions has five kinds of objects:

  1. proofs, which are terms whose types are propositions;

  2. propositions, which are also known as small types;

  3. predicates, which are functions that return propositions;

  4. large types, which are the types of predicates (P is an example of a large type);
    5.T itself, which is the type of large types.

Judgments

The calculus of constructions allows proving typing judgments:
æ1 : A1, z? : Az,...Ft:B,

which can be read as the implication

If variables T1,T2,... have, respectively, types A1, A2,..., then term t has type B.
The valid judgments for the calculus of constructions are derivable from a set of inference rules. In
the following, we use to meana sequence of type assignments a1 : A1,2 : Az,...;

A, B, C, D to mean terms; andK, L to mean either P or T. We shall write B[r;= N to mean
the result of substituting the term N for the free variable in the term B.

An inference rule is written in the form

TEA: B
VEC: D'

which means

ifIEA: Bis a valid judgment, then so is TEC:D.

Inference rules for the calculus of constructions

1 TEP:T
2. T,a:A, T'Ea:A

  1. TEA:K I,z:AE B:L

TE (e: A. B) : L
TEA:K T,z:AFN:B

4 TE (Az:A. N) : (Ve :A. B)

TEM:(Ve:A. B) TEN: A
5 TE MN: B = N]

TE M: A A=8 B TEB:K

6

TEM: B

Defining logical operators

The calouue of hac vory fa bocio

tho ony logiogl onors

The calculus of constructions has very few basic operators: the only logical operator for forming
propositions is . However, this one operator is sufficient to define all the other logical operators:

A→ B = V :A. B (z¢ B)
A^B = VC:P. (A → B→ C) →C
AVB = VO:P. (A→ C) (B→ C) →0

= VC:P. (A → )
Bz:A. B = VO:P. (Vz: A. (B → C) →0

Defining data types

The basic data types used in computer science can be defined within the calculus of constructions:
Booleans

VA:P.A → A→ A

Naturals

VA: P. (A → A) → A→A
Product Ax B

AAB
Disjoint union A + B
AVB

Note that Booleans and Naturals are defined in the same way as in Church encoding. However,
additional problems arise from propositional extensionality and proof irrelevance. 2)

See also

Pure type system

• Lambda cube

• System F

• Dependent type
• Intuitionistic type theory
• Homotopy type theory
References

  1. Coquand, Thierry; Gallier, Jean H. (July 1990). "A Proof of Strong Normalization for the Theory
    of Constructions Using a Kripke-Like Interpretation" (https://repository. upenn.edu/cis_reports/
    568/) . Technical Reports (Cis): 14.

  2. "Standard Library | The Coq Proof Assistant" (https://coq. inria.fr/stdlib/Coq. Logic.ClassicalFac
    ts.html) . coq.inria.fr. Retrieved 2020-08-08.

Sources

• Coquand, Thierry; Huet, Gérard (1988). "The Calculus of Constructions" (http://hal.archives-ouvert
es.fr/docs/00/07/60/24/PDF/RR-0530.pdf) (PDF). Information and Computation. 76 (2-3): 95
120. doi:10.1016/0890-5401 (88)90005-3 (https:// doi.org/10.1016%2FO890-5401%2888%299000
5-3)

o Also available freely accessible online: Coquand, Thierry; Huet, Gérard (1986). The calculus of
constructions (http://hal. inria.fr/inria-00076024/en/) (Technical report). INRIA, Centre de
Rocquencourt. 530.

Note terminology is rather different. For instance, (z : A. B) is written x : A] B.

• Bunder, M. W.; Seldin, Jonathan P. (2004). "Variants of the Basic Calculus of Constructions" (http
s://citeseerx.ist. DsU.edu/doc/10.1.1.88.9497) CiteSeerx: 10.1.1.88.9497 (httos://citeseerx.ist.p
• Bunder, M. W.; Seldin, Jonathan P. (2004). "Variants of the Basic Calculus of Constructions" (http s://citeseerx.ist. psu.edu/doc/10.1.1.88.9497) . CiteSeer: 10.1.1.88.9497 (https://citeseerx. ist.p su.edu/viewdoc/summary?doj=10.1.1.88.9497) .
Frade, Maria João (2009). "Calculus of Inductive Constructions" (https://web.archive.org/web/201 4052910353 5/http:/www3.di.uminho.pt/~mjf/pub/SFV-CIC-2up.pdf) (PDF). Archived from the original (http://www3.di.uminho.pt/~mif/pub/SFV-CIC-2up.pdf) (talk) on 2014-05-29. Retrieved 2013-03-03.
• Huet, Gérard (1988). "Induction Principles Formalized in the Calculus of Constructions" (https://w eb.archive. org/web/20150701130220/http:/llyquem. inria.fr/~huet/PUBLIC/induction.pdf) (PDF). In Fuchi, K.; Nivat, M. (eds.). Programming of Future Generation Computers. North-Holland. pp. 205--216. ISBN 0444704108. Archived from the original (http://yquem.inria.fr/~huet/PUBLIC/i nduction.pdf) (PDF) on 2015-07-01. - An application of the CoC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant