1792:
290:
2794:
The system SCRP is based directly on bunched logic's resource semantics; that is, on ordered monoids of resource elements. While direct and intuitively appealing, this choice leads to a specific technical problem: the
Hennessy–Milner completeness theorem holds only for fragments of the modal logic
2795:
that exclude the multiplicative implication and multiplicative modalities. This problem is solved by basing resource-process calculus on a resource semantics in which resource elements are combined using two combinators, one corresponding to concurrent composition and one corresponding to choice.
2373:
Later, the greater generality of the resource semantics was utilized: an abstract version of separation logic works for Hoare triples where the preconditions and postconditions are formulae interpreted over an arbitrary partial commutative monoid instead of a particular heap model. By suitable
2807:
Their logics are based on instances of the resource semantics that give rise to models of the boolean variant of bunched logic. Although these logics give rise to instances of boolean bunched logic, they appear to have been arrived at independently, and in any case have significant additional
2803:
Cardelli, Caires, Gordon and others have investigated a series of logics of process calculi, where a conjunction is interpreted in terms of parallel composition. Unlike the work of Pym et al. in SCRP, they do not distinguish between parallel composition of systems and composition of resources
850:
1550:
1082:(or of negation) is often rejected by relevantists in their bid to escape the `paradoxes of material implication', which are not a problem from the perspective of modelling resources and so not rejected by bunched logic. The semantics is also related to the 'phase semantics' of
2365:
1444:
whose leaves are propositions and whose internal nodes are labelled with modes of composition corresponding to the two conjunctions. The two combining operators, comma and semicolon, are used (for instance) in the introduction rules for the two implications.
2374:
choice of commutative monoid, it was surprisingly found that the proofs rules of abstract versions of concurrent separation logic could be used to reason about interfering concurrent processes, for example by encoding rely-guarantee and trace-based reasoning.
355:
are forms of conjunction and implication that take resources into account (explained below). In addition to these connectives bunched logic has a formula, sometimes written I or emp, which is the unit of *. In the original version of bunched logic
1975:-like programming languages. O'Hearn used bunched type theory to extend Reynolds' system by allowing interference and non-interference to be more flexibly mixed. This resolved open problems concerning recursion and jumps in Reynolds' system.
1639:
702:, but where the elements of the model are regarded as resources that can be composed and decomposed, rather than as possible worlds that are accessible from one another. For example, the forcing semantics for the conjunction is of the form
1840:
The proof theory of bunched logic has an historical debt to the use of bunches in relevance logic. But the bunched structure can in a sense be derived from the categorical and algebraic semantics: to formulate an introduction rule for
1243:
184:
169:
710:
1451:
1353:
2426:
parallel composition of systems and composition of their associated resources. The semantic clause of SCRP's process logic that corresponds to separation logic's rule for concurrency asserts that a formula
2179:
2115:
2377:
Separation logic is the basis of a number of tools for automatic and semi-automatic reasoning about programs, and is used in the Infer program analyzer currently deployed at
Facebook.
2060:
2164:
895:
1030:
958:
1616:
1583:
1438:
1787:{\displaystyle {\frac {\Gamma ,x:A\vdash M:B}{\Gamma \vdash \lambda x.M:A{-\!\!*}B}}\qquad \qquad {\frac {\Gamma ;x:A\vdash M:B}{\Gamma \vdash \alpha x.M:A{\Rightarrow }B}}}
1032:
is justified when thinking about relevance but denied by considerations of resource; having two copies of a resource is not the same as having one, and in some models (e.g.
1126:, which in linear logic is rejected in a bid to be constructive. These considerations are discussed in detail in an article on resource semantics by Pym, O'Hearn and Yang.
2789:
2757:
2725:
2523:
1906:
1124:
1080:
998:
649:
472:
The easiest way to understand these formulae is in terms of its truth-functional semantics. In this semantics a formula is true or false with respect to given resources.
438:
394:
1060:
678:
569:
353:
2569:
1866:
1815:
1926:
1835:
1622:
The structural rules and other operations on bunches are often applied deep within a tree-context, and not only at the top level: it is thus in a sense a calculus of
1412:
1104:
978:
629:
418:
374:
2385:
Bunched logic has been used in connection with the (synchronous) resource-process calculus SCRP in order to give a (modal) logic that characterizes, in the sense of
1134:
The double version of the deduction theorem of bunched logic has a corresponding category-theoretic structure. Proofs in intuitionistic logic can be interpreted in
915:
458:
2062:, but the preconditions and postconditions are formulae interpreted in a model of bunched logic. The original version of the logic was based on models as follows:
285:{\displaystyle A*B\vdash C\quad {\mbox{iff}}\quad A\vdash B{-\!\!*}C\qquad {\mbox{and also}}\qquad A\wedge B\vdash C\quad {\mbox{iff}}\quad A\vdash B\Rightarrow C}
2451:
2420:
496:
320:
2693:
2673:
2653:
2633:
2613:
2593:
2543:
2491:
2471:
1886:
1162:
609:
589:
536:
516:
2170:
It is the undefinedness of the composition on overlapping heaps that models the separation idea. This is a model of the boolean variant of bunched logic.
50:
and truth-functional semantics, which can be understood in terms of an abstract concept of resource, and a proof theory in which the contexts Γ in an
1256:
a categorical model of bunched logic is a single category possessing two closed structures, one symmetric monoidal closed the other cartesian closed.
118:
845:{\displaystyle r\models A*B\quad {\mbox{iff}}\quad \exists r_{A}r_{B}.\,r_{A}\models A,\,r_{B}\models B,\,{\mbox{and}}\,r_{A}\bullet r_{B}\leq r}
3565:
1545:{\displaystyle {\frac {\Gamma ,A\vdash B}{\Gamma \vdash A{-\!\!*}B}}\qquad \qquad {\frac {\Gamma ;A\vdash B}{\Gamma \vdash A{\Rightarrow }B}}}
1278:
The algebraic semantics of bunched logic is a special case of its categorical semantics, but is simple to state and can be more approachable.
17:
1292:
structure (for the same lattice as the
Heyting algebra): that is, an ordered commutative monoid with an associated implication satisfying
2173:
Separation logic was used originally to prove properties of sequential programs, but then was extended to concurrency using a proof rule
39:
1295:
2360:{\displaystyle {\frac {\{P_{1}\}C_{1}\{Q_{1}\}\quad \{P_{2}\}C_{2}\{Q_{2}\}}{\{P_{1}*P_{2}\}C_{1}\parallel C_{2}\{Q_{1}*Q_{2}\}}}}
3129:
3466:
3107:
2068:
1931:
James
Brotherston has done further significant work on a unified proof theory for bunched logic and variants, employing
3623:
3218:
3372:
2925:
1630:
3273:
3159:
1988:
1994:
3628:
3618:
2126:
1947:
2808:
structure in the way of modalities and binders. Related logics have been proposed as well for modelling
860:
2860:
3490:
Dinsdale-Young, Thomas; Birkedal, Lars; Gardner, Philippa; Parkinson, Matthew; Yang, Hongseok (2013).
2953:
1003:
931:
464:. Thus, bunched logic is compatible with constructive principles, but is in no way dependent on them.
3355:
Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on
Principles of programming languages - POPL '78
1595:
1562:
1417:
3322:
3240:
3062:
3449:
2973:
2917:
2874:
3499:
Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on
Principles of Programming Languages
3433:
3002:
2762:
2730:
2698:
2496:
1891:
1109:
1065:
983:
634:
423:
379:
3048:
Collinson, Matthew; Pym, David (2009). "Algebra and Logic for
Resource-based Systems Modelling".
1936:
1629:
Corresponding to bunched logic is a type theory having two kinds of function type. Following the
1555:
The difference between the two composition rules comes from additional rules that apply to them.
3308:
Galmiche, Didier; Méry, Daniel; Pym, David (2005). "The
Semantics of BI and Resource Tableaux".
1039:
657:
541:
325:
3444:
3317:
3235:
3057:
2968:
2869:
2548:
1139:
461:
55:
3397:
1844:
1800:
1911:
1820:
1397:
1089:
963:
925:
614:
403:
359:
3124:
1942:
Galmiche, Méry, and Pym have provided a comprehensive treatment of bunched logic, including
3546:
1943:
1633:, introduction rules for implications correspond to introduction rules for function types.
900:
695:
443:
397:
83:
75:
1394:
instead of a flat list-like structure. In its sequent-based proof theories, the context
1238:{\displaystyle Hom(A\wedge B,C)\quad {\mbox{is isomorphic to}}\quad Hom(A,B\Rightarrow C)}
8:
2430:
2399:
1441:
1266:
construction. Additionally, the implicational fragment of bunched logic has been given a
475:
299:
51:
31:
3550:
3181:
3536:
3472:
3378:
3335:
3290:
3253:
3075:
3025:
2895:
2887:
2852:
2678:
2658:
2638:
2618:
2598:
2578:
2528:
2476:
2456:
1871:
1289:
594:
574:
521:
501:
79:
47:
3491:
3462:
3368:
3103:
571:
says that if we compose the resource at hand with additional resource that satisfies
103:
94:, where it provides a way to decompose the resources used by components of a system.
91:
63:
3525:
3382:
3294:
3257:
3079:
3029:
1086:, but again is differentiated by accepting the standard (even boolean) semantics of
3592:
3506:
3476:
3454:
3412:
3358:
3339:
3327:
3282:
3245:
3138:
3067:
3017:
2978:
2934:
2899:
2879:
2821:
2386:
2118:
1964:
1387:
1135:
960:
and by accepting the semantics of standard intuitionistic or classical versions of
87:
35:
2826:
1586:
1368:
1285:
921:
107:
3526:"Specifying and Verifying Concurrent Algorithms with Histories and Subjectivity"
654:
The foundation for this reading of formulae was provided by a forcing semantics
498:
asserts that the resource at hand can be decomposed into resources that satisfy
46:, which aid in the compositional analysis of computer and other systems. It has
1623:
1383:
1267:
1263:
164:{\displaystyle A\wedge B\vdash C\quad {\mbox{iff}}\quad A\vdash B\Rightarrow C}
3597:
3580:
3417:
3331:
3249:
3143:
3071:
3021:
2938:
1250:
Bunched logic can be interpreted in categories possessing two such structures
3612:
3226:
67:
3510:
1963:
In perhaps the first use of substructural type theory to control resources,
2831:
2572:
2390:
1968:
1083:
3363:
2982:
1991:. Following Hoare logic the formulae of separation logic are of the form
3458:
1984:
1932:
1033:
699:
71:
3286:
3169:. Lecture Notes in Mathematics. Vol. 137. Springer. pp. 1–38.
1391:
1371:
and that carries an additional residuated commutative monoid structure.
1151:
3489:
2891:
2166:
union of heaps with disjoint domains, undefined when domains overlap.
1138:
categories, that is, categories with finite products satisfying the (
3564:
Calcagno, Cristiano; Distefano, Dino; O'Hearn, Peter (2015-06-11).
3441:
22nd Annual IEEE Symposium on Logic in
Computer Science (LICS 2007)
2883:
1971:
type theory to control aliasing and other forms of interference in
1129:
59:
3541:
1987:
that facilitates reasoning about mutable data structures that use
1928:. This consideration leads to the use of two combining operators.
467:
74:, and its first application was in providing a way to control the
1367:
An algebraic model of boolean bunched logic is a poset that is a
1348:{\displaystyle A*B\leq C\quad {\mbox{iff}}\quad A\leq B{-\!\!*}C}
3432:
Calcagno, Cristiano; O'Hearn, Peter W.; Yang, Hongseok (2007).
54:
judgement Γ ⊢ A are tree-like structures (bunches) rather than
3524:
Sergey, Ilya; Nanevski, Aleksandar; Banerjee, Anindya (2015).
3191:. Lecture Notes in Computer Science. Vol. 4646. Springer.
3566:"Open-sourcing Facebook Infer: Identify bugs before you ship"
1972:
3563:
3353:
Reynolds, John (1978). "Syntactic control of interference".
1361:
The boolean version of bunched logic has models as follows.
3581:"A Calculus and Logic of Bunched Resources and Processes"
2954:"BI as an assertion language for mutable data structures"
2809:
1377:
1284:
An algebraic model of bunched logic is a poset that is a
928:
of
Routley–Meyer), but differs from it by not requiring
176:
Bunched logic has two versions of the deduction theorem:
3492:"Views: Compositional Reasoning for Concurrent Programs"
3204:
Relevant Logic: A Philosophical Examination of Inference
42:. Bunched logic provides primitives for reasoning about
3431:
3098:
Collinson, Matthew; Monahan, Brian; Pym, David (2012).
2370:
that divides the storage accessed by parallel threads.
920:
This semantics of bunched logic draws on prior work in
694:. The semantics is analogous to Kripke's semantics of
3523:
2493:
just in case there are decompositions of the resource
1316:
1198:
1062:
might not even be defined. The standard semantics of
806:
731:
260:
236:
205:
139:
2765:
2733:
2701:
2681:
2661:
2641:
2621:
2601:
2581:
2551:
2531:
2499:
2479:
2459:
2433:
2402:
2393:, the compositional structure of concurrent systems.
2182:
2129:
2071:
1997:
1914:
1894:
1874:
1847:
1823:
1803:
1642:
1598:
1565:
1454:
1420:
1400:
1298:
1262:
A host of categorial models can be given using Day's
1165:
1112:
1092:
1068:
1042:
1006:
986:
966:
934:
903:
863:
713:
660:
637:
617:
597:
577:
544:
524:
504:
478:
446:
426:
406:
382:
362:
328:
302:
187:
121:
86:, where it is the basis of the assertion language of
3125:"Possible worlds and resources: The semantics of BI"
3123:Pym, David; O'Hearn, Peter; Yang, Hongseok (2004).
3097:
2110:{\displaystyle Heaps=L\rightharpoonup _{f}V\qquad }
1618:
admits weakening and contraction of entire bunches.
3122:
2951:
2783:
2751:
2719:
2687:
2667:
2647:
2627:
2607:
2587:
2563:
2537:
2517:
2485:
2465:
2445:
2414:
2359:
2158:
2109:
2054:
1920:
1900:
1880:
1860:
1829:
1809:
1786:
1610:
1577:
1544:
1432:
1406:
1347:
1237:
1118:
1098:
1074:
1054:
1024:
992:
972:
952:
909:
889:
844:
680:advanced by Pym, where the forcing relation means
672:
643:
623:
603:
583:
563:
530:
510:
490:
452:
432:
412:
388:
368:
347:
314:
284:
163:
3003:"A Calculus and logic of resources and processes"
1853:
1852:
1704:
1703:
1489:
1488:
1337:
1336:
553:
552:
337:
336:
226:
225:
3610:
1130:Categorical semantics (doubly closed categories)
3307:
468:Truth-functional semantics (resource semantics)
3100:A Discipline of Mathematical Systems Modelling
2850:
82:. The logic has seen further applications in
3434:"Local Action and Abstract Separation Logic"
3398:"Resources, Concurrency and Local Reasoning"
3047:
2351:
2325:
2299:
2273:
2268:
2255:
2242:
2229:
2225:
2212:
2199:
2186:
2049:
2034:
2010:
1998:
3578:
3395:
3310:Mathematical Structures in Computer Science
3216:
3179:
3050:Mathematical Structures in Computer Science
2996:
2994:
2992:
2915:
1288:and that carries an additional commutative
3167:Reports of the Midwest Category Seminar IV
2911:
2909:
2380:
1888:on the left in sequents, and to introduce
3596:
3540:
3448:
3416:
3362:
3321:
3239:
3142:
3061:
2972:
2873:
1946:and other meta-theory, based on labelled
812:
804:
784:
764:
3579:Anderson, Gabrielle; Pym, David (2015).
3352:
3000:
2989:
3182:"A Games Model of Bunched Implications"
2952:Ishtiaq, Samin; O'Hearn, Peter (2001).
2906:
1958:
591:, then the combined resource satisfies
14:
3611:
3533:24th European Symposium on Programming
3271:Belnap, Nuel (1982). "Display logic".
3270:
2655:is true in the resource-process state
2595:is true in the resource-process state
2055:{\displaystyle \{Pre\}program\{Post\}}
1837:, one for each kind of function type.
1797:Here, there are two distinct binders,
1378:Proof theory and type theory (bunches)
1273:
110:relates conjunction and implication:
3201:
3116:
3093:
3091:
3089:
3043:
3041:
3039:
1983:Separation logic is an extension of
1386:of bunched logic differs from usual
897:is a way of combining resources and
3157:
2945:
2853:"The Logic of Bunched Implications"
2851:O'Hearn, Peter; Pym, David (1999).
2844:
2159:{\displaystyle h_{0}\bullet h_{1}=}
1978:
78:and other forms of interference in
24:
3180:McCusker, Guy; Pym, David (2007).
3160:"On closed categories of functors"
2453:is true in resource-process state
1749:
1720:
1675:
1646:
1605:
1599:
1572:
1566:
1522:
1505:
1475:
1458:
1421:
1401:
1154:correspondence relating hom sets:
890:{\displaystyle r_{A}\bullet r_{B}}
738:
447:
70:. Bunched logic has an associated
25:
3640:
3086:
3036:
3001:Pym, David; Tofts, Chris (2006).
2926:Journal of Functional Programming
2798:
2396:SCRP is notable for interpreting
1390:in having a tree-like context of
3102:. London: College Publications.
1025:{\displaystyle r\bullet r\leq r}
953:{\displaystyle r\bullet r\leq r}
917:is a relation of approximation.
400:, while a boolean variant takes
3572:
3557:
3517:
3483:
3425:
3389:
3346:
3301:
3264:
3210:
3195:
2228:
2106:
1953:
1716:
1715:
1611:{\displaystyle \Delta ;\Gamma }
1578:{\displaystyle \Delta ,\Gamma }
1501:
1500:
1433:{\displaystyle \Delta \vdash A}
1322:
1314:
1204:
1196:
737:
729:
266:
258:
242:
234:
211:
203:
145:
137:
3274:Journal of Philosophical Logic
3173:
3151:
2094:
1895:
1774:
1532:
1232:
1226:
1214:
1193:
1175:
1113:
1069:
987:
651:have their familiar meanings.
638:
427:
383:
276:
155:
97:
13:
1:
2837:
1589:of weakening and contraction.
18:Logic of bunched implications
3585:Theoretical Computer Science
3405:Theoretical Computer Science
3130:Theoretical Computer Science
2784:{\displaystyle T,G\models B}
2752:{\displaystyle S,F\models A}
2720:{\displaystyle R,E\models A}
2518:{\displaystyle R=S\bullet T}
1901:{\displaystyle \Rightarrow }
1119:{\displaystyle \Rightarrow }
1075:{\displaystyle \Rightarrow }
993:{\displaystyle \Rightarrow }
644:{\displaystyle \Rightarrow }
433:{\displaystyle \Rightarrow }
389:{\displaystyle \Rightarrow }
7:
3217:Brotherston, James (2012).
3010:Formal Aspects of Computing
2815:
1631:Curry–Howard correspondence
1559:Multiplicative composition
1414:in an entailment judgement
10:
3645:
3219:"Bunched logics displayed"
2861:Bulletin of Symbolic Logic
1055:{\displaystyle r\bullet r}
673:{\displaystyle r\models A}
564:{\displaystyle B{-\!\!*}C}
396:were the connectives from
348:{\displaystyle B{-\!\!*}C}
3624:Logic in computer science
3598:10.1016/j.tcs.2015.11.035
3418:10.1016/j.tcs.2006.12.035
3332:10.1017/S0960129505004858
3250:10.1007/s11225-012-9449-0
3144:10.1016/j.tcs.2003.11.020
3072:10.1017/S0960129509990077
3022:10.1007/s00165-006-0018-z
2939:10.1017/S0956796802004495
2804:accessed by the systems.
2564:{\displaystyle F\times G}
2121:from locations to values)
1861:{\displaystyle {-\!\!*}}
1810:{\displaystyle \lambda }
3511:10.1145/2480359.2429104
3396:O'Hearn, Peter (2007).
2916:O'Hearn, Peter (2003).
2381:Resources and processes
1921:{\displaystyle \wedge }
1830:{\displaystyle \alpha }
1407:{\displaystyle \Delta }
1099:{\displaystyle \wedge }
973:{\displaystyle \wedge }
624:{\displaystyle \wedge }
413:{\displaystyle \wedge }
369:{\displaystyle \wedge }
3202:Read, Stephen (1989).
3189:Computer Science Logic
2785:
2753:
2721:
2689:
2669:
2649:
2629:
2609:
2589:
2565:
2539:
2519:
2487:
2467:
2447:
2416:
2361:
2160:
2111:
2056:
1922:
1902:
1882:
1862:
1831:
1811:
1788:
1612:
1579:
1546:
1434:
1408:
1349:
1239:
1120:
1100:
1076:
1056:
1026:
994:
974:
954:
911:
891:
846:
674:
645:
625:
605:
585:
565:
532:
512:
492:
460:) as from traditional
454:
434:
414:
390:
370:
349:
316:
286:
165:
3364:10.1145/512760.512766
2983:10.1145/373243.375719
2786:
2754:
2722:
2690:
2670:
2650:
2630:
2610:
2590:
2566:
2540:
2520:
2488:
2468:
2448:
2417:
2362:
2161:
2112:
2057:
1967:showed how to use an
1923:
1903:
1883:
1863:
1832:
1812:
1789:
1613:
1592:Additive composition
1580:
1547:
1435:
1409:
1350:
1240:
1121:
1101:
1077:
1057:
1027:
995:
975:
955:
926:operational semantics
912:
910:{\displaystyle \leq }
892:
847:
675:
646:
626:
606:
586:
566:
533:
513:
493:
455:
453:{\displaystyle \neg }
435:
415:
391:
371:
350:
317:
287:
166:
3459:10.1109/LICS.2007.30
3443:. pp. 366–378.
2763:
2731:
2699:
2679:
2659:
2639:
2619:
2599:
2579:
2549:
2529:
2497:
2477:
2457:
2431:
2400:
2180:
2127:
2069:
1995:
1959:Interference control
1912:
1892:
1872:
1845:
1821:
1801:
1640:
1596:
1563:
1452:
1418:
1398:
1296:
1163:
1110:
1090:
1066:
1040:
1004:
984:
964:
932:
901:
861:
711:
658:
635:
615:
595:
575:
542:
522:
502:
476:
444:
424:
404:
398:intuitionistic logic
380:
360:
326:
300:
185:
119:
84:program verification
44:resource composition
3629:Substructural logic
3551:2014arXiv1410.0306S
3158:Day, Brian (1970).
2918:"On Bunched Typing"
2446:{\displaystyle A*B}
2415:{\displaystyle A*B}
1274:Algebraic semantics
491:{\displaystyle A*B}
315:{\displaystyle A*B}
80:imperative programs
32:substructural logic
3619:Mathematical logic
3357:. pp. 39–46.
3287:10.1007/BF00284976
3206:. Wiley-Blackwell.
2781:
2749:
2717:
2685:
2665:
2645:
2625:
2605:
2585:
2571:, where ~ denotes
2561:
2535:
2515:
2483:
2463:
2443:
2412:
2357:
2156:
2107:
2052:
1918:
1898:
1878:
1858:
1827:
1807:
1784:
1608:
1575:
1542:
1442:finite rooted tree
1430:
1404:
1345:
1320:
1290:residuated lattice
1235:
1202:
1116:
1096:
1072:
1052:
1022:
990:
970:
950:
907:
887:
842:
810:
735:
687:holds of resource
670:
641:
621:
601:
581:
561:
528:
508:
488:
450:
430:
410:
386:
366:
345:
312:
282:
264:
240:
209:
161:
143:
48:category-theoretic
3468:978-0-7695-2908-0
3109:978-1-904987-50-5
2688:{\displaystyle G}
2668:{\displaystyle T}
2648:{\displaystyle B}
2628:{\displaystyle F}
2608:{\displaystyle S}
2588:{\displaystyle A}
2538:{\displaystyle E}
2486:{\displaystyle E}
2466:{\displaystyle R}
2355:
2119:partial functions
1908:we should mimick
1881:{\displaystyle *}
1868:we should mimick
1782:
1713:
1540:
1498:
1319:
1201:
809:
734:
604:{\displaystyle C}
584:{\displaystyle B}
531:{\displaystyle B}
511:{\displaystyle A}
263:
239:
208:
142:
104:deduction theorem
92:systems modelling
16:(Redirected from
3636:
3603:
3602:
3600:
3576:
3570:
3569:
3561:
3555:
3554:
3544:
3530:
3521:
3515:
3514:
3496:
3487:
3481:
3480:
3452:
3438:
3429:
3423:
3422:
3420:
3411:(1–3): 271–307.
3402:
3393:
3387:
3386:
3366:
3350:
3344:
3343:
3325:
3316:(6): 1033–1088.
3305:
3299:
3298:
3268:
3262:
3261:
3243:
3234:(6): 1223–1254.
3223:
3214:
3208:
3207:
3199:
3193:
3192:
3186:
3177:
3171:
3170:
3164:
3155:
3149:
3148:
3146:
3120:
3114:
3113:
3095:
3084:
3083:
3065:
3045:
3034:
3033:
3007:
2998:
2987:
2986:
2976:
2958:
2949:
2943:
2942:
2922:
2913:
2904:
2903:
2877:
2857:
2848:
2822:Separation logic
2790:
2788:
2787:
2782:
2758:
2756:
2755:
2750:
2726:
2724:
2723:
2718:
2694:
2692:
2691:
2686:
2674:
2672:
2671:
2666:
2654:
2652:
2651:
2646:
2634:
2632:
2631:
2626:
2614:
2612:
2611:
2606:
2594:
2592:
2591:
2586:
2570:
2568:
2567:
2562:
2544:
2542:
2541:
2536:
2524:
2522:
2521:
2516:
2492:
2490:
2489:
2484:
2472:
2470:
2469:
2464:
2452:
2450:
2449:
2444:
2421:
2419:
2418:
2413:
2366:
2364:
2363:
2358:
2356:
2354:
2350:
2349:
2337:
2336:
2324:
2323:
2311:
2310:
2298:
2297:
2285:
2284:
2271:
2267:
2266:
2254:
2253:
2241:
2240:
2224:
2223:
2211:
2210:
2198:
2197:
2184:
2165:
2163:
2162:
2157:
2152:
2151:
2139:
2138:
2116:
2114:
2113:
2108:
2102:
2101:
2061:
2059:
2058:
2053:
1979:Separation logic
1965:John C. Reynolds
1927:
1925:
1924:
1919:
1907:
1905:
1904:
1899:
1887:
1885:
1884:
1879:
1867:
1865:
1864:
1859:
1857:
1836:
1834:
1833:
1828:
1816:
1814:
1813:
1808:
1793:
1791:
1790:
1785:
1783:
1781:
1777:
1747:
1718:
1714:
1712:
1708:
1673:
1644:
1617:
1615:
1614:
1609:
1587:structural rules
1584:
1582:
1581:
1576:
1551:
1549:
1548:
1543:
1541:
1539:
1535:
1520:
1503:
1499:
1497:
1493:
1473:
1456:
1439:
1437:
1436:
1431:
1413:
1411:
1410:
1405:
1354:
1352:
1351:
1346:
1341:
1321:
1317:
1244:
1242:
1241:
1236:
1203:
1200:is isomorphic to
1199:
1136:cartesian closed
1125:
1123:
1122:
1117:
1105:
1103:
1102:
1097:
1081:
1079:
1078:
1073:
1061:
1059:
1058:
1053:
1031:
1029:
1028:
1023:
999:
997:
996:
991:
979:
977:
976:
971:
959:
957:
956:
951:
924:(especially the
916:
914:
913:
908:
896:
894:
893:
888:
886:
885:
873:
872:
851:
849:
848:
843:
835:
834:
822:
821:
811:
807:
794:
793:
774:
773:
760:
759:
750:
749:
736:
732:
693:
683:
679:
677:
676:
671:
650:
648:
647:
642:
630:
628:
627:
622:
610:
608:
607:
602:
590:
588:
587:
582:
570:
568:
567:
562:
557:
537:
535:
534:
529:
517:
515:
514:
509:
497:
495:
494:
489:
459:
457:
456:
451:
439:
437:
436:
431:
419:
417:
416:
411:
395:
393:
392:
387:
375:
373:
372:
367:
354:
352:
351:
346:
341:
321:
319:
318:
313:
291:
289:
288:
283:
265:
261:
241:
237:
230:
210:
206:
170:
168:
167:
162:
144:
140:
88:separation logic
30:is a variety of
21:
3644:
3643:
3639:
3638:
3637:
3635:
3634:
3633:
3609:
3608:
3607:
3606:
3577:
3573:
3562:
3558:
3528:
3522:
3518:
3494:
3488:
3484:
3469:
3436:
3430:
3426:
3400:
3394:
3390:
3375:
3351:
3347:
3323:10.1.1.144.1421
3306:
3302:
3269:
3265:
3241:10.1.1.174.8777
3221:
3215:
3211:
3200:
3196:
3184:
3178:
3174:
3162:
3156:
3152:
3121:
3117:
3110:
3096:
3087:
3063:10.1.1.153.3899
3056:(5): 959–1027.
3046:
3037:
3005:
2999:
2990:
2956:
2950:
2946:
2920:
2914:
2907:
2855:
2849:
2845:
2840:
2827:Relevance logic
2818:
2801:
2764:
2761:
2760:
2732:
2729:
2728:
2700:
2697:
2696:
2680:
2677:
2676:
2660:
2657:
2656:
2640:
2637:
2636:
2620:
2617:
2616:
2600:
2597:
2596:
2580:
2577:
2576:
2550:
2547:
2546:
2530:
2527:
2526:
2498:
2495:
2494:
2478:
2475:
2474:
2458:
2455:
2454:
2432:
2429:
2428:
2401:
2398:
2397:
2383:
2345:
2341:
2332:
2328:
2319:
2315:
2306:
2302:
2293:
2289:
2280:
2276:
2272:
2262:
2258:
2249:
2245:
2236:
2232:
2219:
2215:
2206:
2202:
2193:
2189:
2185:
2183:
2181:
2178:
2177:
2147:
2143:
2134:
2130:
2128:
2125:
2124:
2097:
2093:
2070:
2067:
2066:
1996:
1993:
1992:
1981:
1961:
1956:
1913:
1910:
1909:
1893:
1890:
1889:
1873:
1870:
1869:
1848:
1846:
1843:
1842:
1822:
1819:
1818:
1802:
1799:
1798:
1773:
1748:
1719:
1717:
1699:
1674:
1645:
1643:
1641:
1638:
1637:
1597:
1594:
1593:
1564:
1561:
1560:
1531:
1521:
1504:
1502:
1484:
1474:
1457:
1455:
1453:
1450:
1449:
1419:
1416:
1415:
1399:
1396:
1395:
1388:sequent calculi
1380:
1369:Boolean algebra
1332:
1315:
1297:
1294:
1293:
1286:Heyting algebra
1276:
1197:
1164:
1161:
1160:
1132:
1111:
1108:
1107:
1091:
1088:
1087:
1067:
1064:
1063:
1041:
1038:
1037:
1005:
1002:
1001:
1000:. The property
985:
982:
981:
965:
962:
961:
933:
930:
929:
922:relevance logic
902:
899:
898:
881:
877:
868:
864:
862:
859:
858:
830:
826:
817:
813:
805:
789:
785:
769:
765:
755:
751:
745:
741:
730:
712:
709:
708:
691:
681:
659:
656:
655:
636:
633:
632:
616:
613:
612:
596:
593:
592:
576:
573:
572:
548:
543:
540:
539:
523:
520:
519:
503:
500:
499:
477:
474:
473:
470:
445:
442:
441:
425:
422:
421:
405:
402:
401:
381:
378:
377:
361:
358:
357:
332:
327:
324:
323:
301:
298:
297:
259:
235:
221:
204:
186:
183:
182:
138:
120:
117:
116:
108:classical logic
100:
23:
22:
15:
12:
11:
5:
3642:
3632:
3631:
3626:
3621:
3605:
3604:
3571:
3556:
3516:
3482:
3467:
3450:10.1.1.66.6337
3424:
3388:
3373:
3345:
3300:
3281:(4): 375–417.
3263:
3209:
3194:
3172:
3150:
3137:(1): 257–305.
3115:
3108:
3085:
3035:
3016:(4): 495–517.
2988:
2974:10.1.1.11.4925
2944:
2933:(4): 747–796.
2905:
2884:10.2307/421090
2875:10.1.1.27.4742
2868:(2): 215–244.
2842:
2841:
2839:
2836:
2835:
2834:
2829:
2824:
2817:
2814:
2800:
2799:Spatial logics
2797:
2780:
2777:
2774:
2771:
2768:
2748:
2745:
2742:
2739:
2736:
2716:
2713:
2710:
2707:
2704:
2684:
2664:
2644:
2624:
2604:
2584:
2560:
2557:
2554:
2534:
2514:
2511:
2508:
2505:
2502:
2482:
2462:
2442:
2439:
2436:
2411:
2408:
2405:
2382:
2379:
2368:
2367:
2353:
2348:
2344:
2340:
2335:
2331:
2327:
2322:
2318:
2314:
2309:
2305:
2301:
2296:
2292:
2288:
2283:
2279:
2275:
2270:
2265:
2261:
2257:
2252:
2248:
2244:
2239:
2235:
2231:
2227:
2222:
2218:
2214:
2209:
2205:
2201:
2196:
2192:
2188:
2168:
2167:
2155:
2150:
2146:
2142:
2137:
2133:
2122:
2105:
2100:
2096:
2092:
2089:
2086:
2083:
2080:
2077:
2074:
2051:
2048:
2045:
2042:
2039:
2036:
2033:
2030:
2027:
2024:
2021:
2018:
2015:
2012:
2009:
2006:
2003:
2000:
1980:
1977:
1960:
1957:
1955:
1952:
1917:
1897:
1877:
1856:
1851:
1826:
1806:
1795:
1794:
1780:
1776:
1772:
1769:
1766:
1763:
1760:
1757:
1754:
1751:
1746:
1743:
1740:
1737:
1734:
1731:
1728:
1725:
1722:
1711:
1707:
1702:
1698:
1695:
1692:
1689:
1686:
1683:
1680:
1677:
1672:
1669:
1666:
1663:
1660:
1657:
1654:
1651:
1648:
1624:deep inference
1620:
1619:
1607:
1604:
1601:
1590:
1574:
1571:
1568:
1553:
1552:
1538:
1534:
1530:
1527:
1524:
1519:
1516:
1513:
1510:
1507:
1496:
1492:
1487:
1483:
1480:
1477:
1472:
1469:
1466:
1463:
1460:
1429:
1426:
1423:
1403:
1384:proof calculus
1379:
1376:
1375:
1374:
1373:
1372:
1359:
1358:
1357:
1356:
1344:
1340:
1335:
1331:
1328:
1325:
1313:
1310:
1307:
1304:
1301:
1275:
1272:
1268:game semantics
1264:tensor product
1260:
1259:
1258:
1257:
1248:
1247:
1246:
1245:
1234:
1231:
1228:
1225:
1222:
1219:
1216:
1213:
1210:
1207:
1195:
1192:
1189:
1186:
1183:
1180:
1177:
1174:
1171:
1168:
1131:
1128:
1115:
1095:
1071:
1051:
1048:
1045:
1021:
1018:
1015:
1012:
1009:
989:
969:
949:
946:
943:
940:
937:
906:
884:
880:
876:
871:
867:
855:
854:
853:
852:
841:
838:
833:
829:
825:
820:
816:
803:
800:
797:
792:
788:
783:
780:
777:
772:
768:
763:
758:
754:
748:
744:
740:
728:
725:
722:
719:
716:
696:intuitionistic
669:
666:
663:
640:
620:
600:
580:
560:
556:
551:
547:
527:
507:
487:
484:
481:
469:
466:
449:
429:
409:
385:
365:
344:
340:
335:
331:
311:
308:
305:
295:
294:
293:
292:
281:
278:
275:
272:
269:
257:
254:
251:
248:
245:
233:
229:
224:
220:
217:
214:
202:
199:
196:
193:
190:
174:
173:
172:
171:
160:
157:
154:
151:
148:
136:
133:
130:
127:
124:
99:
96:
9:
6:
4:
3:
2:
3641:
3630:
3627:
3625:
3622:
3620:
3617:
3616:
3614:
3599:
3594:
3590:
3586:
3582:
3575:
3567:
3560:
3552:
3548:
3543:
3538:
3534:
3527:
3520:
3512:
3508:
3504:
3500:
3493:
3486:
3478:
3474:
3470:
3464:
3460:
3456:
3451:
3446:
3442:
3435:
3428:
3419:
3414:
3410:
3406:
3399:
3392:
3384:
3380:
3376:
3374:9781450373487
3370:
3365:
3360:
3356:
3349:
3341:
3337:
3333:
3329:
3324:
3319:
3315:
3311:
3304:
3296:
3292:
3288:
3284:
3280:
3276:
3275:
3267:
3259:
3255:
3251:
3247:
3242:
3237:
3233:
3229:
3228:
3227:Studia Logica
3220:
3213:
3205:
3198:
3190:
3183:
3176:
3168:
3161:
3154:
3145:
3140:
3136:
3132:
3131:
3126:
3119:
3111:
3105:
3101:
3094:
3092:
3090:
3081:
3077:
3073:
3069:
3064:
3059:
3055:
3051:
3044:
3042:
3040:
3031:
3027:
3023:
3019:
3015:
3011:
3004:
2997:
2995:
2993:
2984:
2980:
2975:
2970:
2966:
2962:
2955:
2948:
2940:
2936:
2932:
2928:
2927:
2919:
2912:
2910:
2901:
2897:
2893:
2889:
2885:
2881:
2876:
2871:
2867:
2863:
2862:
2854:
2847:
2843:
2833:
2830:
2828:
2825:
2823:
2820:
2819:
2813:
2811:
2805:
2796:
2792:
2778:
2775:
2772:
2769:
2766:
2746:
2743:
2740:
2737:
2734:
2714:
2711:
2708:
2705:
2702:
2682:
2662:
2642:
2622:
2602:
2582:
2574:
2558:
2555:
2552:
2532:
2525:and process
2512:
2509:
2506:
2503:
2500:
2480:
2460:
2440:
2437:
2434:
2425:
2409:
2406:
2403:
2394:
2392:
2388:
2378:
2375:
2371:
2346:
2342:
2338:
2333:
2329:
2320:
2316:
2312:
2307:
2303:
2294:
2290:
2286:
2281:
2277:
2263:
2259:
2250:
2246:
2237:
2233:
2220:
2216:
2207:
2203:
2194:
2190:
2176:
2175:
2174:
2171:
2153:
2148:
2144:
2140:
2135:
2131:
2123:
2120:
2103:
2098:
2090:
2087:
2084:
2081:
2078:
2075:
2072:
2065:
2064:
2063:
2046:
2043:
2040:
2037:
2031:
2028:
2025:
2022:
2019:
2016:
2013:
2007:
2004:
2001:
1990:
1986:
1976:
1974:
1970:
1966:
1951:
1949:
1945:
1940:
1938:
1937:display logic
1935:'s notion of
1934:
1929:
1915:
1875:
1854:
1849:
1838:
1824:
1804:
1778:
1770:
1767:
1764:
1761:
1758:
1755:
1752:
1744:
1741:
1738:
1735:
1732:
1729:
1726:
1723:
1709:
1705:
1700:
1696:
1693:
1690:
1687:
1684:
1681:
1678:
1670:
1667:
1664:
1661:
1658:
1655:
1652:
1649:
1636:
1635:
1634:
1632:
1627:
1625:
1602:
1591:
1588:
1569:
1558:
1557:
1556:
1536:
1528:
1525:
1517:
1514:
1511:
1508:
1494:
1490:
1485:
1481:
1478:
1470:
1467:
1464:
1461:
1448:
1447:
1446:
1443:
1427:
1424:
1393:
1389:
1385:
1370:
1366:
1365:
1364:
1363:
1362:
1342:
1338:
1333:
1329:
1326:
1323:
1311:
1308:
1305:
1302:
1299:
1291:
1287:
1283:
1282:
1281:
1280:
1279:
1271:
1269:
1265:
1255:
1254:
1253:
1252:
1251:
1229:
1223:
1220:
1217:
1211:
1208:
1205:
1190:
1187:
1184:
1181:
1178:
1172:
1169:
1166:
1159:
1158:
1157:
1156:
1155:
1153:
1149:
1145:
1141:
1137:
1127:
1093:
1085:
1049:
1046:
1043:
1035:
1019:
1016:
1013:
1010:
1007:
967:
947:
944:
941:
938:
935:
927:
923:
918:
904:
882:
878:
874:
869:
865:
839:
836:
831:
827:
823:
818:
814:
801:
798:
795:
790:
786:
781:
778:
775:
770:
766:
761:
756:
752:
746:
742:
726:
723:
720:
717:
714:
707:
706:
705:
704:
703:
701:
697:
690:
686:
667:
664:
661:
652:
618:
598:
578:
558:
554:
549:
545:
525:
505:
485:
482:
479:
465:
463:
462:boolean logic
407:
399:
363:
342:
338:
333:
329:
309:
306:
303:
279:
273:
270:
267:
255:
252:
249:
246:
243:
231:
227:
222:
218:
215:
212:
200:
197:
194:
191:
188:
181:
180:
179:
178:
177:
158:
152:
149:
146:
134:
131:
128:
125:
122:
115:
114:
113:
112:
111:
109:
105:
95:
93:
89:
85:
81:
77:
73:
69:
68:proof calculi
65:
61:
57:
53:
49:
45:
41:
37:
36:Peter O'Hearn
33:
29:
28:Bunched logic
19:
3588:
3584:
3574:
3559:
3532:
3519:
3502:
3498:
3485:
3440:
3427:
3408:
3404:
3391:
3354:
3348:
3313:
3309:
3303:
3278:
3272:
3266:
3231:
3225:
3212:
3203:
3197:
3188:
3175:
3166:
3153:
3134:
3128:
3118:
3099:
3053:
3049:
3013:
3009:
2967:(3): 14–26.
2964:
2960:
2947:
2930:
2924:
2865:
2859:
2846:
2832:Linear logic
2806:
2802:
2793:
2575:, such that
2573:bisimulation
2423:
2422:in terms of
2395:
2384:
2376:
2372:
2369:
2172:
2169:
1982:
1962:
1954:Applications
1944:completeness
1941:
1930:
1839:
1796:
1628:
1621:
1554:
1381:
1360:
1277:
1261:
1249:
1147:
1143:
1133:
1084:linear logic
919:
856:
688:
684:
653:
471:
296:
175:
101:
43:
34:proposed by
27:
26:
3505:: 287–300.
1985:Hoare logic
1585:denies the
700:modal logic
98:Foundations
72:type theory
66:as in most
3613:Categories
2838:References
2695:; that is
1392:hypotheses
1152:adjunction
52:entailment
3591:: 63–96.
3542:1410.0306
3445:CiteSeerX
3318:CiteSeerX
3236:CiteSeerX
3058:CiteSeerX
2969:CiteSeerX
2870:CiteSeerX
2776:⊨
2744:⊨
2712:⊨
2556:×
2510:∙
2438:∗
2407:∗
2339:∗
2313:∥
2287:∗
2141:∙
2095:⇀
1916:∧
1896:⇒
1876:∗
1855:∗
1850:−
1825:α
1805:λ
1775:⇒
1756:α
1753:⊢
1750:Γ
1736:⊢
1721:Γ
1706:∗
1701:−
1682:λ
1679:⊢
1676:Γ
1662:⊢
1647:Γ
1606:Γ
1600:Δ
1573:Γ
1567:Δ
1533:⇒
1526:⊢
1523:Γ
1515:⊢
1506:Γ
1491:∗
1486:−
1479:⊢
1476:Γ
1468:⊢
1459:Γ
1425:⊢
1422:Δ
1402:Δ
1339:∗
1334:−
1327:≤
1309:≤
1303:∗
1227:⇒
1182:∧
1114:⇒
1094:∧
1070:⇒
1047:∙
1017:≤
1011:∙
988:⇒
968:∧
945:≤
939:∙
905:≤
875:∙
837:≤
824:∙
796:⊨
776:⊨
739:∃
724:∗
718:⊨
665:⊨
639:⇒
619:∧
555:∗
550:−
483:∗
448:¬
428:⇒
408:∧
384:⇒
364:∧
339:∗
334:−
307:∗
277:⇒
271:⊢
253:⊢
247:∧
228:∗
223:−
216:⊢
198:⊢
192:∗
156:⇒
150:⊢
132:⊢
126:∧
90:, and in
40:David Pym
3383:18716926
3295:41451176
3258:13634990
3080:14228156
3030:16623194
2816:See also
2387:Hennessy
2117:(finite
1989:pointers
1948:tableaux
1036:models)
238:and also
76:aliasing
3547:Bibcode
3477:1044254
3340:1700033
2900:2948552
1140:natural
3475:
3465:
3447:
3381:
3371:
3338:
3320:
3293:
3256:
3238:
3106:
3078:
3060:
3028:
2971:
2898:
2892:421090
2890:
2872:
2812:data.
2391:Milner
1969:affine
1933:Belnap
857:where
3537:arXiv
3529:(PDF)
3495:(PDF)
3473:S2CID
3437:(PDF)
3401:(PDF)
3379:S2CID
3336:S2CID
3291:S2CID
3254:S2CID
3222:(PDF)
3185:(PDF)
3163:(PDF)
3076:S2CID
3026:S2CID
3006:(PDF)
2957:(PDF)
2921:(PDF)
2896:S2CID
2888:JSTOR
2856:(PDF)
1973:Algol
1440:is a
692:'
682:'
440:(and
60:multi
56:lists
3463:ISBN
3369:ISBN
3104:ISBN
2965:28th
2961:POPL
2759:and
2727:iff
2635:and
2424:both
1817:and
1382:The
1146:and
1106:and
1034:heap
980:and
631:and
518:and
420:and
376:and
322:and
102:The
64:sets
58:or (
38:and
3593:doi
3589:614
3507:doi
3455:doi
3413:doi
3409:375
3359:doi
3328:doi
3283:doi
3246:doi
3232:100
3139:doi
3135:315
3068:doi
3018:doi
2979:doi
2935:doi
2880:doi
2810:XML
1318:iff
1142:in
808:and
733:iff
698:or
538:.
262:iff
207:iff
141:iff
106:of
3615::
3587:.
3583:.
3545:.
3535:.
3531:.
3503:48
3501:.
3497:.
3471:.
3461:.
3453:.
3439:.
3407:.
3403:.
3377:.
3367:.
3334:.
3326:.
3314:15
3312:.
3289:.
3279:11
3277:.
3252:.
3244:.
3230:.
3224:.
3187:.
3165:.
3133:.
3127:.
3088:^
3074:.
3066:.
3054:19
3052:.
3038:^
3024:.
3012:.
3008:.
2991:^
2977:.
2963:.
2959:.
2931:13
2929:.
2923:.
2908:^
2894:.
2886:.
2878:.
2864:.
2858:.
2791:.
2675:,
2615:,
2545:~
2473:,
1950:.
1939:.
1626:.
1270:.
1150:)
611:.
3601:.
3595::
3568:.
3553:.
3549::
3539::
3513:.
3509::
3479:.
3457::
3421:.
3415::
3385:.
3361::
3342:.
3330::
3297:.
3285::
3260:.
3248::
3147:.
3141::
3112:.
3082:.
3070::
3032:.
3020::
3014:8
2985:.
2981::
2941:.
2937::
2902:.
2882::
2866:5
2779:B
2773:G
2770:,
2767:T
2747:A
2741:F
2738:,
2735:S
2715:A
2709:E
2706:,
2703:R
2683:G
2663:T
2643:B
2623:F
2603:S
2583:A
2559:G
2553:F
2533:E
2513:T
2507:S
2504:=
2501:R
2481:E
2461:R
2441:B
2435:A
2410:B
2404:A
2389:–
2352:}
2347:2
2343:Q
2334:1
2330:Q
2326:{
2321:2
2317:C
2308:1
2304:C
2300:}
2295:2
2291:P
2282:1
2278:P
2274:{
2269:}
2264:2
2260:Q
2256:{
2251:2
2247:C
2243:}
2238:2
2234:P
2230:{
2226:}
2221:1
2217:Q
2213:{
2208:1
2204:C
2200:}
2195:1
2191:P
2187:{
2154:=
2149:1
2145:h
2136:0
2132:h
2104:V
2099:f
2091:L
2088:=
2085:s
2082:p
2079:a
2076:e
2073:H
2050:}
2047:t
2044:s
2041:o
2038:P
2035:{
2032:m
2029:a
2026:r
2023:g
2020:o
2017:r
2014:p
2011:}
2008:e
2005:r
2002:P
1999:{
1779:B
1771:A
1768::
1765:M
1762:.
1759:x
1745:B
1742::
1739:M
1733:A
1730::
1727:x
1724:;
1710:B
1697:A
1694::
1691:M
1688:.
1685:x
1671:B
1668::
1665:M
1659:A
1656::
1653:x
1650:,
1603:;
1570:,
1537:B
1529:A
1518:B
1512:A
1509:;
1495:B
1482:A
1471:B
1465:A
1462:,
1428:A
1355:.
1343:C
1330:B
1324:A
1312:C
1306:B
1300:A
1233:)
1230:C
1224:B
1221:,
1218:A
1215:(
1212:m
1209:o
1206:H
1194:)
1191:C
1188:,
1185:B
1179:A
1176:(
1173:m
1170:o
1167:H
1148:C
1144:A
1050:r
1044:r
1020:r
1014:r
1008:r
948:r
942:r
936:r
883:B
879:r
870:A
866:r
840:r
832:B
828:r
819:A
815:r
802:,
799:B
791:B
787:r
782:,
779:A
771:A
767:r
762:.
757:B
753:r
747:A
743:r
727:B
721:A
715:r
689:r
685:A
668:A
662:r
599:C
579:B
559:C
546:B
526:B
506:A
486:B
480:A
343:C
330:B
310:B
304:A
280:C
274:B
268:A
256:C
250:B
244:A
232:C
219:B
213:A
201:C
195:B
189:A
159:C
153:B
147:A
135:C
129:B
123:A
62:)
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.