Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
BEFORE THE COURT OF SH A.S. JAYACHANDRA PO : LABOUR COURT : KKD : DELHI DATE OF REFERENCE : 04.10.2001 DATE OF FILING : 06.10.2001 ARGUMENTS CONCLUDED ON: 04.08.09 AWARD MADE ON : 01.09.2009 ID No. 244/06/01 IN THE MATTER OF : - M/s Rodex Rubber Factory (ii)Black Stone Automobile Pvt. Ltd. S-57, Badli Indl. Area, Delhi ...........Management versus Krantikari General Mazdoor Union J-1413, Jahangirpuri Delhi-33 (Rajender Master & 42 others) ................Workmen AWARD 1.
The Govt. of NCT of Delhi has made a reference bearing number F.24 (3528)/2001/Lab./22023-27 dated 04.10.2001, in the above matter and the terms of reference is as under :
Whether the services of workmen as per Annexure
-A have been terminated illegally and / or unjustifiably by the management, and if so, to what sum of money as monetary relief along with consequential benefits in terms of existing laws/Govt. notifications and to what other relief are they entitled and what directions are necessary in this respect ? 1/28
The names of the workmen as per Annexure A are as under :
S. No. Name Father's Name
1 S/Sh. Rajender Master S/Sh. Ramjatan Pd.
2 Radheshyam Kikli yadav
3 Ram Kailash Jag Bhagat
4 Ram Babu Khimanand
5 Shyam bahadur Bir Bahadur
6 Rajesh yadav Ramchander Yadav
7 Suresh Yadav Ramchander Yadav
8 Naresh Jha Lakshman Jha
9 Parmanand Pramod ..........................
10 Sohan Lal Ram Prasad
11 Naveen Jagannath Singh
12 Shankar Singh Mithila Singh
13 Bhola Singh Surajadev Singh
14 Barlister Singh Baburam Yadav
15 Harilal Ramsuraj Yadav
16 Anil Mishra Ramkalewar Mishra
17 Ganesh Mishra Ramkalewar Mishra
18 Ramvilash yadav Jaleshwar Yadav
19 Dinesh Chander Prasad
20 ArjunSingh Sohraihu Prasad
21 Raj Kumar Murari Desai
22 Jai Prakash Jmuna Prasad
23 Lal Yadav Krishna Mahato
24 Ranjan Ravinder
25 Babu Lal Hira Lal
26 Vasupal Hira Lal
27 Shivpujan Maurya Kharbhuj Maurya
2/28
S. No. Name Father's Name
28 Ashok Kumar Sone Lal
29 Sitaram Badri Yadav
30 Satpal Singh Hari Singh
31 Umesh Kumar Chaitu Dass
32 Satyendra Suryanath Pd.
33 Nirmal Kumar Suryanath Pd.
34 Nand Lal Mukh Lal
35 Ram Vinay Sharma Tipan Singh
36 Bhim Bahadur Thpa Dal Bahadur Thapa
37 Sajan Neeber
38 Upender Kumar Late Sh. balram Pd.
39 Harendra Kisum Sah
40 Uday Kumar Late Sh. Rajdev Ram
41 Kishan Bahadur Pahalman Beek
42 Kamal bahadur Khaman Bahadur
43 Abhilakh Chhotelal Prjapati
2. Case of the workmen :- Workmen contend that they
were working with the management upto the mark and there was no complaint. The workmen were not given the legal benefits. Names of 20 workmen were not entered into the registers. Therefore, they made a complaint to the Assistant Labour Commissioner on 24.07.2001, so that the names of 20 workmen are taken into the register.
3. On 25.07.2001, the workmen were not allowed to enter 3/28 into the factory and they were refused their duties by the management since the management was green eyed over the workmen for the complaint. Further, the management threatened the workmen that if they insisted to enter into the factory, they would be facing dire consequences. The workmen informed the Union leader of Krantikari General Mazdoor Union.
4. On the same day along with leader at 3 p.m., the workmen went to Samaipur Badli Police Station. The SHO and the SI manhandled the Union leaders, while the workmen were outside the police station. The management in connivance with the police coerced the workmen and the Union leaders to sign certain papers to fabricate that there has been no dispute. The same was immediately informed to various authorities. The matter was brought to the notice of the labour department. The management refused to take them back on duties. The workmen contended that all of them were removed illegally and unjustifiably from the duties w.e.f. 25.07.2001. The management had resorted to unfair labour practice and victimisation. The management has not followed Section 25-F of the ID Act. There was no misconduct by any of the workmen and no enquiry was held. The termination of the workmen is illegal. Therefore, the workmen had sought for reinstatement with full back wages and cost of litigation. 4/28
5. The case of the management in the amended written statement, which was allowed, in brief is as under :
a) the workmen remained absent w.e.f. 25.07.2001 inspite of personal messages, letters, show cause memos and charge sheet.
b) there was no relationship of employer and employee concerning the management and workmen Shiv Pujan, Ranjan, Upender , Rajesh, Babu Ram, Ram Bilas, Rajesh Yadav.
c) there is no management by name M/s Rodex Rubber Factory and the same is now known as M/s Black Stone Automobile Pvt. Ltd.
d) the workmen Bhola Singh, Harender, Navin, Arjun Singh, Dinesh, Rajender Master, Radhey Shyam, Suresh Yadav and Sita Ram, have settled their disputes with the management amicably U/s 18(1) of the ID Act.
e) the management is closed down w.e.f. 01.06.2006, due to unavoidable circumstances under the provision of Section 31(A) of the Air Prevention & Control of Pollution Act, 1981. According to the management, the date of the appointment and last drawn wages of the workmen are as under :
Name Status Date of Last wages appointment (Rs.) Rajender Asstt. Operator 01/07/96 2,693/- 5/28 Name Status Date of Last wages appointment (Rs.) Radheyshyam Operator 01/12/96 2,843/- Ram Kailash Helper 01/12/96 2,424/- Suresh Yadav Asstt. Operator 12/02/97 2,743/- Naresh Operator 01/07/96 2,843/- Parmanand Operator 01/06/96 2,843/- Sohan Lal Asstt. Operator January, 1996 2,685/- Naveen Helper Dec, 1994 2,419/- Shanker Singh Helper 01/12/96 2,424/- Bhola Singh Asstt. Operator 17.06.1995 2,585/- Balister Singh Asstt. Operator 06/12/96 2,592/- Anil Mishra Asstt. Operator 06/12/96 2,592/- Ganesh Mishra Helper 01/12/96 2,424/- Dinesh Asstt. Operator 01/07/96 2,585/- Arjun Helper 01/07/96 2,422/- Jai Prakash Asstt. Operator 01/12/96 2,592/- Lal Dev Helper 01/12/96 2,419/- Vasu Pal Helper 01/07/96 2,419/- Ashok Kumar Helper 02/12/96 2,424/- Sita Ram Helper 02/12/96 2,419/- Satpal Singh Asstt. Operator May, 1992 2,793/- Umesh Kumar Operator 01/07/96 2,847/- Satender Helper 01/12/96 2,847/- Nirmal Kumar Helper 01/12/96 2,424/- Nand Lal Asstt. Operator 01/12/96 2,592/- Ram Vinay Asstt. Operator 2,592/- Sharma 01/12/96 Sajan Helper 01/07/96 2,422/- Harender Helper 01/07/96 2,422/- 6/28 Name Status Date of Last wages appointment (Rs.) Udai Kumar Helper 01/12/96 2,422/- Kishan Bahadur Helper 01/07/96 2,422/- Abhilakh Asstt. Operator Dec., 1994 2,643/-
6. Management further contended that the Union leader Kanta Prasad was harassing the management, extorting the money from the management for the past four years and was collecting Rs. 3,500/- per month. On 25.07.2001, Kanta Prasad demanded Rs. 10,000/- per month to allow the factory to run and threatened the director of the management with dire consequences. The allegations in the claim statement are all denied. All the workmen on 25.07.2001, have abstained from duties at the behest of Kanta Prasad. The said person with 6 to 7 persons armed with iron rods had assaulted the director, squatted on the factory gate and threatened that unless the management pays the amount of Rs. 10,000/- per month, he would not allow the management to run the factory. The management informed the police who shifted them to the police station. The management denies that Union leader was beaten up by the SHO and the SI and further denies that no coercion was brought on the workers to sign the blank papers. The management was following all the labour statutes. The names of the employees who were working were kept on the 7/28 registers. The workmen had made baseless allegations in the claim statement. The workmen simply followed Kanta Prasad. There was no employer employee relationship between the management number 2 and Shyam Bahadur, Hari Lal, Raj Kumar, Babu Lal, Bhim Bahadur Thapa, Kamal Bahadur, Shiv Poojan, Rajan, Upender, Rajneesh Yadav, Babu Ram and Ram Bilas. The other workmen deserted the work since 25.07.2001. It is contended that the workmen are not entitled for any relief and the management seeks for dismissal of the claim.
7. Rejoinder is filed by the workmen denying the allegations found in the written statement. It is contended by the workmen that the workmen Shiv Poojan and Ors. are the employees and they have been working since 8 to 10 years.
8. Based on the pleadings, my Ld. Predecessor had framed the following five issues as under :
1) Whether workmen Rajender, Radhey Shyam, Ram Kailash, Suresh Yadav, Naresh, Sohan Lal, Naveen, Shankar Singh, Bhola Singh, Balister Singh, Anil Mishra, Ganesh Mishra, Dinesh, Arjun, Jai Prakash, Lal Dev, Vasu Pal, Ashok Kumar, Sita Ram, Satpal Singh, Umesh Kumar, Satender, Nirmal Kumar, Nand Lal, Ram Vinay Sharma, Sajan, Harender, Udai Kumar, Kishan Bahadur, Abhilakh themselves started absenting from duty w.e.f. 25.07.2001 and did not join the duty desite personal messages and letters, show cause memos and charge sheet sent to them ? If so ? Its effect ? OPM.
2) Whether there existed relationship of employees and employer between the workmen Shiv Pujan, Ranjan, Upender, Baboo Ram, Rajesh, Ram Bilas and Rajesh Yadav ? If 8/28 so, its effect ? OPW.
3) Whether the workmen Bhola Singh, Harender, Navin, Arjun Singh, Dinesh, Rajender, Master Radhey Shyam, Suresh Yadav and Sita Ram, settled their dispute amicably with the management /s 18(1) of the Industrial Disputes Act, which constitutes a settlement as engrafted U/s 2 (p) of the said Act ? If so, its effect ? OPM
4) Whether the name of Rodex Rubber Factory has been converted as M/s Black Stone Automobiles Pvt. Ltd. ? If so, its effect ? OPM
5) As per terms of reference.
9. To vindicate their claims on the either side, the workmen had examined 14 witnesses on their side. On behalf of the management, MW 1 Surjeet Singh, is examined and the evidence is closed.
10. During the course of arguments, it is argued on behalf of the workmen that a) factory is not closed b) management had conceded to the visit of Labour Inspector and that there is an FIR c) that the management did not appear before the conciliation authorities
d) management was not in the habit of issuing appointment letters and reflecting the names of the employees in the attendance register e) 30 employees were appointed only at the intervention of the labour department in the year 1996, the documents relied by the management are all fabricated and lastly that the management has not issued any notice or letters calling upon the workmen to join the 9/28 duties. The AR for the workmen urges that the workmen are entitled for all the reliefs as claimed.
11. AR for the management argued that there is no relationship with regard to some of the employees and the management is closed down w.e.f. 01.06.2006. He further argues that many employees have left on their own and that the workmen had not established their case on merits. Lengthy written argument is also filed by the management. Perused the same. Heard the Ld. AR.
12. With the available oral and documentary evidence, I am to answer the issues as under.
13. ISSUE NUMBER 1 : This issue concerns the abdication of duties and absence of the workmen from duties w.e.f. 25.07.2001. The onus to prove this issue is on the management. Management contended that workmen Rajender, Radhey Shyam, Ram Kailash, Suresh Yadav, Naresh, Sohan Lal, Naveen, Shankar Singh, Bhola Singh, Balister Singh, Anil Mishra, Ganesh Mishra, Dinesh, Arjun, Jai Prakash, Lal Dev, Vasu Pal, Ashok Kumar, Sita Ram, Satpal Singh, Umesh Kumar, Satender, Nirmal Kumar, Nand Lal, Ram Vinay Sharma, Sajan, Harender, Udai Kumar, Kishan Bahadur, Abhilakh have remained absent despite letters w.e.f 25.07.2001.
14. It is to be noted that only 14 workmen, namely, Abhilakh 10/28 (WW 1), Anil Mishra (WW 2), WW 3 (Nand Lal), Jai Prakash (WW 4), Umesh Kumar (WW 5), Udai Kumar (WW 6), Ram Kailash (WW 7), Shankar Singh (WW 8), Ganesh Mishra (WW 9), Ashok Kumar (WW 10), Upender (WW 11-not concerning issue number 1), Sohan Lal (WW 12), Satpal Singh (WW 13), Ram Vinay Sharma (WW 14) are examined on behalf of the workmen. Except Upender (WW 11), all the other workmen examined are alleged to have remained absent w.e.f. 25.07.2001, despite notices. The case of the management in the written arguments also is that the management has been constantly advising the absentee workers to resume the duties through several letters, sent to the Labour department and also as urged in the pleadings before the conciliation officer. The management did not terminate the services of these employees. The management did not obstruct them from joining the duties.
15. I have perused the evidence recorded in this case. The evidence of all the workmen are identical and stereo type. They have filed their affidavits. In the evidence of Abhilakh, WW 1 which is at Ex. WW 1/A, he claims having worked for 10 years. It is his contention that on 25.07.2001, the management did not allow him into the factory. All the other workmen examined in this case in their affidavits have similarly stated so in para 4 of their affidavits. The onus on issue 11/28 number 1 being on management number 1, examined MW 1. MW 1 in his affidavit at Ex. MW 1/A deposed that the workmen were not terminated on 25.07.2001. In fact on 25.07.2001, there was a strike. At para 15 of the affidavit, he deposes that the workmen were asked to join the duties by a letter dated 26.07.2001, Ex. MW 1/6 directing all the workmen to resume their duties. Ex. MW 1/6 is produced on record. This is addressed to 31 who are all covered under issue number 1. The said letter is issued at the C/o address of the Union. In the said letter, it is demanded by the authorised signatory of the management number 2 asking the workmen to join the duties. Ex. MW 1/7 is the postal receipt. Ex. MW 1/8 is the letter addressed to the Labour Commissioner informing them that the workmen have stopped reporting to come to the duties and the indulgence of the Labour Commissioner is sought. The same is bearing the seal of the office of the Labour Commissioner. Ex. MW 1/11 dated 14.08.2001, it is stated that the absentee workers had refused to receive the wages. The same is addressed to the Labour Commissioner. While cross-examining MW 1, the workmen got elicited that the management has no record to prove that the Union leaders were collecting the money from the management. He also admits that the Labour Inspector had lodged a criminal complaint against the management. MW 1 also admits that an 12/28 accident took place in the month of November, 2007 and one workman by name Om Prakash, sustained injuries. As regards the present workmen, witness admits that the management has not conducted any enquiry with regard to the unauthorised absence. MW 1 is the director of the management number 2. This witness denies a suggestion that the management had not offered employment to the workmen before any authority.
16. From the documentary evidence produced by the MW 1, apart from the joint letter addressed to the workmen at the address of the Union, the management had also issued separate notices to the workman which are addressed to all the workmen, at the union address. MW 1 in his affidavit at para 33 deposed that he sent a charge sheet dated 09.12.2004, at Ex. MW 1/57 to each individual worker vide postal receipts Ex. MW 1/58 to 1/70 seeking an explanation for unauthorised absence. I have perused Ex. MW 1/57. This is a joint charge sheet issued against all the workmen and the postal receipts are also produced bearing the date as 09.12.2004. However, I find that Ex. MW 1/21, before the conciliation Officer S.P. Singh, the management addressed a letter to the said authority asking the labour department to persuade the workmen to resume the duties. Ex. MW 1/22 and 23 are the postal receipts. Likewise, in the pleadings 13/28 before the conciliation officer at Ex. MW 1/23A, the management had also sought for the workmen to join the duties which was sent by a registered post. Ex. MW 1/27 is the written statement filed by the management before the conciliation officer wherein it is reiterated that the absentee workers did not resume their duty and that their services were not terminated. The same is dated NIL. I also find that Ex. MW 1/39 dated 09.01.2002, Ex. MW 1/41 dated 24.09.2002, Ex. MW 1/43 dated 27.12.2002, Ex. MW 1/45 dated 15.02.2003, Ex. MW 1/47 dated 24.05.2003, Ex. MW 1/49 dated 15.03.2004, Ex. MW 1/51 dated 27.12.2003, Ex. MW 1/53 dated 18.09.2003, Ex. MW 1/55 dated 18.06.2004, Ex. MW 1/57 dated 09.12.2004 are all addressed to the workmen in issue number 1 at their C/o address of the Union asking them to resume the duties immediately. These letters are supported by the postal receipts sent individually also to the workmen at Ex. MW 1/58 to 69. The workmen had not cross-examined MW 1 on these documents.
17. At the same time, it is to be seen that the management's responsibility does not cease by writing a letter addressed to the Union. Under what circumstances, these letters have not been individually addressed to the workmen at their residences is not forthcoming.
14/28
The management having not sent the letters and the charge sheet to the workmen at their residential address, the charge sheet can not be treated as the service on each individual workman, since it is addressed at the C/o address of the Union. The effect of such improper service is dealt while answering issue number 5. However, it is clear from the documentary evidence that the workmen have not attended the duties from 25.07.2001, despite messages. The effect of the same and the attendant circumstances are dealt in the succeeding part herein while the answering to issue number 5. Thus, issue number 1 is answered accordingly.
18. ISSUE NUMBER 2 : In this issue, I am to answer whether there exists the relationship of employer and employee between the management and the workmen Shiv Pujan, Ranjan, Upender, Baboo Ram, Rajesh, Ram Bilas and Rajesh Yadav. Out of these workmen, except Upender S/o Balram Prasad, no other workmen is examined. Upender is examined as WW 11. In his affidavit at Ex. WW 11/A, he had deposed that he had been working with the management for the past 9 years. He relied on two documents Ex. WW 11/1, the ESI card and Ex. WW 11/2 the postal correspondence. In the cross-examination, he admits that the ESI card is issued by M/s Okay Engineering where he was working. He also admits that he never 15/28 worked with the managements 1 and 2. Therefore, the case of the workmen Upender S/o Balram Prasad, nowhere stands. WW 11 had utterly failed to establish the relationship. Likewise, the other workmen Shiv Pujan, Ranjan, Baboo Ram, Rajesh, Ram Bilas and Rajesh Yadav, having not led any evidence, they can not be held as employees of the management numbers 1 and 2. Thus, issue number 2 stands answered in favour of the management and against the workmen.
19. ISSUE NUMBER 3 : The management having contended that the workmen Bhola Singh, Harender, Navin, Arjun Singh, Dinesh, Rajender, Master Radhey Shyam, Suresh Yadav and Sita Ram, have settled their matters amicably with the management is required to prove the same and the onus is on the management. I have perused the evidence of MW 1. This witness in his affidavit at Ex. MW 1/A had stated that the above names workers have settled their disputes with the managements. The true copies of the settlements are at Ex. MW 1/77 to 1/82. I perused the document at Ex. MW 1/72, this is a letter addressed to the Labour Commissioner dated 15.07.2006, copies of which were marked to ESIC, PF Commissioners and the Inspector of Factories. The postal receipts are at Exs. MW 1/73 to 76. Ex. MW 1/77 is the settlement deed between workman Navin and the management number 2. There is a receipt of Rs. 20,000/- towards full and final 16/28 settlement. It is the settlement U/s 18(1) of the Industrial Disputes Act. Ex. MW 1/78 is the settlement entered with Harender, for a sum of Rs. 17,000/-. Ex. MW 1/79 is the settlement entered with Rajender for a sum of Rs. 20,000/-. Ex. MW 1/80 is the settlement entered with Suresh Yadav, for a sum of Rs. 16,000/-. Ex. MW 1/81 is the settlement entered with Radhey Shyam, for a sum of Rs. 20,000/-. Ex. MW 1/82 is the settlement entered with Dinesh Prasad, for a sum of Rs. 20,000/-. Ex. MW 1/83 is the settlement entered with Sita Ram, for a total sum not mentioned but as having paid bonus and leave wages. Ex. MW 1/84 is the settlement entered with Arjun Kumar Singh, for a sum of Rs. 18,000/-.
20. Out of these workmen, no one had come into the witness box to controvert the say of MW 1. They remained unexamined. However, I have perused the evidence of MW 1 who was cross- examined at length. A suggestion was made to the witness that no payments were done before the Labour Inspector which was denied by the witness. In the absence of the denial by the each individual workmen against whom the management contends that there was a settlement, it becomes difficult to disbelieve the statement of MW 1 and the documentary evidence produced by MW 1. It was argued by the workmen that the management have fabricated the documents. I 17/28 see no sound logic to hold that the documents are fabricated by the management. Hence, issue number 3 is held in favour of the management and against the workmen.
21. ISSUE NUMBER 4 : The management in its amended written statement had contended at para 3 of the preliminary objections that M/s Rodex Rubbery Factory had changed its name and constitution as M/s Black Stone Automobiles Pvt. Ltd. In the rejoinder, the workman denied this fact for want of knowledge. They contend that it is an unfair labour practice on the part of the management. While signing the written statement also, the Director had mentioned that the Black Stone Automobiles Pvt. Ltd. was formerly known as M/s Rodex Rubber Factory. Apart from the pleadings, the management has not led any evidence by producing the certificate of incorporation or the resolutions of the earlier company. Hence, this issue is answered in the negative. The effect of the same would be discussed in the succeeding issue.
22. ISSUE NUMBER 5 : From the discussion at issue number 1 and issue number 2 all the workmen examined except Upender, being the employees of management number 2 have not attended the duties from 25.07.2001. The circumstances under which they remained absent is to be looked from the pleadings and the evidence 18/28 led. MW 1 in his evidence concedes that there was an accident in the factory during November, 2007 in which one worker Om Prakash, was injured. MW 1 also admits that the Labour Inspector had lodged a criminal complaint against the management and the matter is pending before the Ld. MM.
23. From the written arguments filed by the management, it is rightly suggested that 'a question would arise as why a workman would raise an industrial dispute if he had voluntarily left the services and still make a claim. The management argues that the matter is to be looked from the Union activities and the attitude of some of the union leaders who would catch hold of some workmen and make illegal demands.
24. The question posed by the management is not only to be looked into from the points suggested but also from the pleadings. It is from the pleadings that one can make out that there was some altercation between the union leaders and the management concerning 20 workers having not been reflected in the registers and the workmen were not allowed inside the factory on 25.07.2001. The evidence of workmen are alike in this aspect. WW 1 had produced certain documents which are Mark A to Mark T. Only the photocopies of these documents are produced on record. They are not proved on 19/28 record. From the cross-examination of MW 1 which I have already discussed at the cost of repetition, it is to be stated that MW 1 admits having not produced the appointment letter of any of the employee. MW 1 also admitted that he has no records to prove that the union leaders were demanding from the management. MW 1 further admits that the labour Inspector had lodged a criminal complaint against the management. It is also forthcoming that one worker was injured in November, 2007 and that there was no enquiry, which is nothing to do with the present case. From the evidence of MW 1 who admits as mentioned above, it is clear that there were some discrepancies in keeping the registers of the workmen and issuing the proper appointment letters. This must have led to the collective bargaining by the employees. There is no evidence that the union leader was being paid any ransom to buy peace. Therefore, it is clear that the workmen struck the work. No doubt the conciliation had taken place, which failed.
25. It is also clear from the evidence that the workmen did not report to the duties. The management relied on Tejpal vs. Gopal Narain LLR 2006 P. 1142 Del. to urge that declining relief to the workman alleging illegal termination but not reporting duty is justified. Reliance is also placed on the point by urging the ruling of Sonal 20/28 Garments vs. Trimbak Shankar Karve LLR 2003 P. 5 Bom. & also the rule of Competition Printing Press vs. Shriut Jai Prakash Singh LLR 2001 P. 768 Bom. These are all the rulings where the workman had willfully absented despite repeated communication. In the instant case as discussed by me at issue number 1, the management had not sent the individual communications at the residential addresses of the workmen. The case of the workmen is to be understood who were making collective bargaining through the Union. The management had served the notices only on the Union. For making collective bargaining, the process involves considerable length of time, by which time it can not be expected that all the workmen will be in constant touch with the Union so as to respond to the notices issued by the management. The non-issuance of the notices at the residential addresses and issue of notice only through the Union can not be treated as a proper service of communication. Therefore, the rulings urged by the management are distinguishable on facts. Viewed from this point, the notices can not be treated as proper service and therefore, the workmen who had expectations in the collective bargaining expected some settlement which could not emerge. Their absence from duties is thus to be understood, since management clearly admits that there was a strike on 25.07.2001. 21/28
26. Though there is no termination even today on record, in the wake of the circumstances whereby the workmen did not attend the duties, the termination can not be termed illegal or unjustified since there is no such termination on record.
27. As there is no termination, now I am to see whether the workmen can be directed to be reinstated into service. In the written statement, at para 5 of the preliminary objections, it is stated that the management closed down its activities from 01.06.2006 and disconnection of power. The same is testified at para 38 of Ex. MW 1/A. The workmen cross-examined MW 1 and got elicited that there was an accident in the factory. Thus, the workmen argued that the factory is still in existence. The management argued that this was a stranded incident in which the accident occurred while removing the machinery after closure.
28. The management relied on J. K. Hosiery Factory vs. Labour Appellate Tribunal AIR 1956 ALL P. 498 to urge that if a person is compelled to carry on a particular trade or business, it affects his right to carry on any other trade or business and that no person can be debarred from disposing his property or from practicing any profession. Further, reliance is placed on Workmen of Indian Leaf Tobaccoo Co. vs. Management of Indian Leaf Tobacco Co. AIR 22/28 1970 SC 860 to urge that even a reference U/s 10(d) of the Act, can interfere with the discretion exercised by the company in closing down its business. No court has power to issue orders to the company to reopen the closed business. Further it was urged that the ruling in the matter of Indian Metal and Metallurgical Corporation vs. Industrial Tribunal AIR 1953 Mad. 98 on the same point.
29. In the instant case, it is brought on evidence by the management that the management closed its business in the affidavit of MW 1. I have perused the cross-examination of MW 2. There is no suggestion that the factory is still running. On the other hand, WW 4 and WW 5 in the cross-examination admits that the factory of the management is closed at present. WW 1 and 2 in their cross- examination by the management do not know if the factory of the management is closed w.e.f. 01.06.2006. From the evidence, I have no hesitation to conclude that the factory is closed down w.e.f. 01.06.2006 as admitted by one of the workmen. Hence, no reinstatement is possible with respect to both the managements as they are one and the same as pleaded by the workmen. Hence, the findings on issue number 4 has no bearing in this aspect.
30. There being no chance of ordering reinstatement, I will have to find out the compensation payable to each of the workmen. 23/28 From the evidence, the following details emerge with regard to the service of the each of the workmen & compensation that may be ordered to the contesting workmen in lieu of the denial of the duties in the background of the management having closed down its business.
Name Status Service Compensation counted arrived at WW 1 Abhilakh Asstt. Operator 01/07/96 as per 2,643/- admitted the WS but by the suggested date management. by the Hence, management as compensation 13.12.1994 eligible is Rs. 18,501/-. WW2 Anil Mishra Asstt. Operator 06/12/96 2,643/- admitted admitted by the by the workman management. Hence, compensation eligible is Rs. 14,537/-. WW 3 Nand Lal Asstt. Operator 01/12/96 (no 2,592/- admitted documents by the produced by the management. workman, Hence, suggested by compensation the eligible is Rs. management 14,256/- WW 4 Jai Asstt. Operator 2,592/- admitted Prakash by the management. Hence, compensation eligible is Rs. 01/12/96 14,256/- 24/28 Name Status Service Compensation counted arrived at WW 5 Umesh Operator 2,847/- Kumar (admitted by the management) since no salary slip is produced by workman. Hence, compensation 01/07/96 Rs. 15,658/-. WW 6 Udai Helper 01/12/96 (since 2,424/- admitted Kumar unable to by the produce management. evidence for Hence, correct date of compensation joining prior to eligible is Rs. 1996) 13,332. WW 7 Ram Helper 01/12/96 (since 2,424/- admitted Kailash unable to by the produce management. evidence for Hence, correct date of compensation joining prior to eligible is Rs. 1996) 13,332. WW 8 Shanker Helper 01/12/96 (since 2,424/- admitted Singh unable to by the produce management. evidence for Hence, correct date of compensation joining prior to eligible is Rs. 1996) 13,332. WW 9 Ganesh Helper 01/12/96 (since 2,424/- admitted Mishra unable to by the produce management. evidence for Hence, correct date of compensation joining prior to eligible is Rs. 1996) 13,332. 25/28 Name Status Service Compensation counted arrived at WW 10 Ashok Helper 02/12/96 (since 2,424/- admitted Kumar unable to by the produce management. evidence for Hence, correct date of compensation joining prior to eligible is Rs. 1996) 13,332. WW 11 Upender ------------ ---------- claim dismissed for no relationship. WW 12 Sohan Asstt. Operator January, 1996 2,685/- admitted Lal (since unable to by the produce management. evidence for No documents correct date of by the workman joining prior to for salary. 1996) Hence, compensation eligible is Rs. 14,768/-. WW 13 Satpal Asstt. Operator 22.05.1992 (as 2,793/- admitted Singh per ESI card) by the management. No documents by the workman for salary. Hence, compensation eligible is Rs. 22,344/-. WW 14 Ram Asstt. Operator 01.07.96 (as 2,592/- admitted Vinay Sharma per ESI card) by the management. Hence, compensation eligible is Rs. 15,552/- 26/28
31. Considering the peculiarity of the facts of this case and the law laid down in Rajasthan Lalitkala Academy vs. Radhey Shyam, 2008 III LLJ 562 and UP Electricity Board vs. Laxmi Kant Gupta, 2009 LLR Page 1, I find that this is not a case where the back wages can be awarded. I have already calculated the compensation payable to each of the workman.
32. For the aforesaid reasons, I pass the following :
AWARD The claim of WW 11 Upender, stands dismissed since he is not the employee of the managements 1 and 2.
The claims of the workmen Rajender Master, Radheyshyam, Ram Babu, Shyam Bahadur, Rajesh Yadav, Suresh Yadav, Naresh Jha, Parmanand Prasad, Naveen, Bhola Singh, Balister Singh, Hari Lal, Ram Bilas Yadavm, Dinesh, Arjun Singh, Raj Kumar, Lal Dev, Ranjan, Babu Lal, Vasu Pal, Shiv Pujan Mauraya, Sita Ram, Satendera, Nirmal Kumar, Bhim Bahadur Thapa, Sajan, Harendera, Kishan Bahadur, and Kamal Bahadur stands dismissed for no evidence on behalf of the above workmen.
I award the compensation as calculated above payable to the workmen named as above towards the compensation in lieu of reinstatement. Reinstatement not ordered.
27/28
The management is directed to pay the above amounts to each of the workmen named in the table within 30 days from the date of publication of this award, failing which, the management shall also be liable to pay interest @ 12 % p.a., from the date of award till realisation.
The reference is answered accordingly.
Copies of the award be sent to the appropriate government for publication.
File be consigned to record room.
1st September, 2009 (A.S. JAYACHANDRA) PO : LABOUR COURT - XVII, DELHI 28/28


#include <DrawingContext.h>
The drawing context is created by the desktop and the components, passed through the skin and finally passed to the platform adapter.
Definition at line 28 of file DrawingContext.h.
Public Member Functions | |
| DrawingContext (const DrawingContext &context, Component *component) | |
| Creates a drawing context as a sub context of a given one using a component's position and size as clipping offset and size. | |
| DrawingContext (const DrawingContext &context, Vector offset, Vector size) | |
| Creates a drawing context as a sub context of a given one. | |
| DrawingContext (const DrawingContext &context, Vector offset) | |
| Creates a drawing context as a sub context of a given one with a given translation offset (e.g. | |
| DrawingContext (const DrawingContext &context) | |
| Creates a drawing context from a given one (copy constructor). | |
| DrawingContext (Image *target) | |
| Creates a drawing context for a given target (e.g. | |
| DrawingContext (Desktop *desktop) | |
| Creates a drawing context for the desktop background area drawing on the entire target (no clipping). | |
| DrawingContext () | |
| Creates a void drawing context (e.g. | |
| Vector | getClippingOffset () |
| Returns the upper-left corner of the clipping rectangle. | |
| Vector | getClippingSize () |
| Returns the clipping rectangle size. | |
| Vector | getDrawingOffset () |
| Returns the drawing offset. | |
| Image * | getTarget () |
| Returns the target to perform drawing operations on or NULL, if the desktop background area is the target. | |
| bool | isCompatibleTo (const DrawingContext &drawingContext) const |
| Returns whether the surface and clipping properties of the drawing context equal another one. | |
| bool | isInClippingArea (Vector from, Vector to) const |
| Returns whether a given rectangle intersects with the clipping rectangle of this context. | |
| bool | isInClippingArea (Vector position) const |
| Returns whether a given vector is within the clipping rectangle of this context. | |
| bool | operator!= (const DrawingContext &drawingContext) const |
| Returns whether any of the surface, clipping, and drawing properties of the drawing context do not equal another one. | |
| void | operator= (const DrawingContext &drawingContext) |
| Sets all the surface, clipping, and drawing properties of the drawing context to those of another one. | |
| bool | operator== (const DrawingContext &drawingContext) const |
| Returns whether all the surface, clipping, and drawing properties of the drawing context equal another one. | |
Private Member Functions | |
| void | clipTo (Vector offset, Vector size) |
| Calculates the clipping intersection of the current context and given offset and size parameters, and updates the properties of the context. | |
Private Attributes | |
| Vector | clippingOffset |
| The upper-left corner of the clipping rectangle. | |
| Vector | clippingSize |
| The clipping rectangle size. | |
| Vector | drawingOffset |
| The drawing offset, absolute to the target's origin. | |
| Image * | target |
| The target to perform drawing operations on or NULL, if the desktop background area is the target. |
|
|
Creates a void drawing context (e.g. to initialize other objects). |
|
|
Creates a drawing context for the desktop background area drawing on the entire target (no clipping).
|
|
|
Creates a drawing context for a given target (e.g. window) drawing on the entire target (no clipping).
|
|
|
Creates a drawing context from a given one (copy constructor). The new context has the same properties as the template.
|
|
|
Creates a drawing context as a sub context of a given one with a given translation offset (e.g. for scrolling components). Drawing operations are translated (added) by this offset, so this equals the negative scrolling position. Clipping is not changed.
|
|
|
Creates a drawing context as a sub context of a given one. The clipping rectangles are intersected, and the offset is calculated from the new offset relative to the old one. Drawing operations are offset relatively to this rectangle.
|
|
|
Creates a drawing context as a sub context of a given one using a component's position and size as clipping offset and size. The clipping rectangles are intersected, and the offset is calculated from the new offset relative to the old one. Drawing operations are offset relatively to this rectangle.
|
|
|
Calculates the clipping intersection of the current context and given offset and size parameters, and updates the properties of the context.
|
|
|
Returns the upper-left corner of the clipping rectangle. All drawing operations left or above this point is clipped. The drawing offset is applied first, before clipping.
|
|
|
Returns the clipping rectangle size. Drawing right or below (clippingOffset + clippingSize) (including) is clipped. The drawing offset is applied first, before clipping.
|
|
|
Returns the drawing offset. All drawing operations on the target are translated by this offset (i.e. originated there). This offset is applied to all coordinates before clipping and drawing is performed.
|
|
|
Returns the target to perform drawing operations on or NULL, if the desktop background area is the target. This the latter case, the clipping rectangle equals the desktop, and the drawing offset is (0, 0).
|
|
|
Returns whether the surface and clipping properties of the drawing context equal another one. In this case, the platform adapter does not need to focus on a different clipping rectangle.
|
|
|
Returns whether a given rectangle intersects with the clipping rectangle of this context. The given rectangles coordinates must be translated by the drawing offsets before this call.
|
|
|
Returns whether a given vector is within the clipping rectangle of this context. The given rectangles coordinates must be translated by the drawing offsets before this call.
|
|
|
Returns whether any of the surface, clipping, and drawing properties of the drawing context do not equal another one.
|
|
|
Sets all the surface, clipping, and drawing properties of the drawing context to those of another one.
|
|
|
Returns whether all the surface, clipping, and drawing properties of the drawing context equal another one.
|
|
|
The upper-left corner of the clipping rectangle. All drawing operations left or above this point are clipped.
Definition at line 38 of file DrawingContext.h. |
|
|
The clipping rectangle size. Drawing right or below (clippingOffset + clippingSize, including) is clipped. The drawing offset is applied first, before clipping. Definition at line 45 of file DrawingContext.h. |
|
|
The drawing offset, absolute to the target's origin. All drawing operations on the target are translated by this offset (i.e. originated there). This offset is applied to all coordinates before clipping and drawing is performed. Definition at line 54 of file DrawingContext.h. |
|
|
The target to perform drawing operations on or NULL, if the desktop background area is the target. This the latter case, the clipping rectangle equals the desktop, and the drawing offset is (0, 0). Definition at line 62 of file DrawingContext.h. |


Paul Thurrott Previews PDC Longhorn Thoroughly
Here. Paul Thurrot digs deeply into the PDC build of Longhorn, including impressions, screen shots and videos. Of course, since this is a developer release, the user experience isn't nearly what we plan it to be, but even developers need to know how to use the OS for which they're developing. : )


SHAILESH BHAT
I am BSc IT Graduate, Mumbai University. Worked in Naaptol.com, Justbuylive.com, Maayra Retail, Lumina Datamatics in E-Commerce Sector since 2011. Full Stack developer since 2019.
About
I became Full-Stack web developer in 2019! Previously i used to work for Naaptol.com, JustBuyLive.com, Maayra Retail & Lumina Datamatics. I worked from June 2011 to Oct 2018 in those companies.Then i thought lets try Online business & became Amazon Seller for around a year in 2019. Business didn't go well as planned. Finally i felt that, i must persue my original career; that is web development. So i too a Full-Stack web developer course in Seed Infotech, which i had heard of when i was in college. After passing out from Seed, i am looking to get my new career started. I like webdesiging & development.
Full-Stack Developer Course,Seed Infotech Nov 2019 - April 2020 I completed Full-Stack Developer Course from Seed Infotech. Amazon Seller,Monthlyfair Dec 2018 - Nov 2019 I was a Amazon Seller & worked from my home. I enjoyed doing business. Group Leader, Lumina Datamatics Jan 2018 - Oct 2018 I was group leader for Lumina Datamatics in Amazon US process. Upload Incharge, Maarya Retail Jan 2016 - Dec 2017 Upload Incharge in Maarya Retail Pvt Ltd. Listing Executive, JustBuyLive.com sep 2015 - Sep 2016 Upload listings in JustBuyLive.com Ecommerce Executive, Naaptol.com June 2011 - Aug 2014 Upload Incharge of Home Kitchen & Applinaces listings in Naaptol.com Persuing, MSc IT Jan 2009 - June 2011 I was persuing MSc IT but i failed. Education BSc IT, Mumbai University 2006 - 2009 I graduated from Mumbai University in Bachelor of Information technonogy.
The Old Minstrel
The old Minstrel alone at the water covered land;
was once a heartless butcher, alone at the sinful land;
Work was full, plenty was the money;
but could not get the knight's sleep;
For it was him, not he who was the judge;
Many years after the man's death;
was his presence felt by the prisoner's gang;
Crime reduced, miser's died;
giving no sign of willful dine.
Portfolio
Contact
Address:A7402, Adwait Chs, Star Colony, Manpada road, Dombivili East, Thane, Maharashtra, India, Pincode:421204.
Mobile: +91-9920070452, E-mail: amshaileshpayments@gmail.com


I build things with code and with a hammer.
I build things with code and with a hammer.
As I recently drove the Alcan and landed in the Seattle area, you will find me making the most of my non-monitor time hiking the Kitsap and Olympic Peninsulas. My friends have dubbed this, "getting my Alaska on." Being at play in the huge, huge trees centers and inspires me, and makes me a little less homesick.
My passion (second to problem-solving): I LOVE all things music. Singing. Playing. Recording. Theory. Concerts.
A fun fact: In my rural Alaska life, I built my house. The directions from my house to the big box stores: head out of town, pass the flashing light, take the first paved left, and the second light on your right. A distance of about 300 miles. On a two lane road. Watching for moose.


FirstProofs19First real proofs in Coq
- download the _CoqProject file that I posted on StudOn and save it in the same folder
- write in console
coq_makefile -Q . LF19 Basics19.v FirstProofs19.v -o Makefile; make
From LF19 Require Export Basics19.
Let us also load ssreflect again.
Set Warnings "-notation-overridden,-parsing".
From Coq Require Import ssreflect ssrfun ssrbool.
From Coq Require Import ssreflect ssrfun ssrbool.
Proof by Simplification
Theorem plus_O_n : ∀n : nat, 0 + n = n.
Proof.
reflexivity. Qed.
Proof.
reflexivity. Qed.
(You may notice that the above statement looks different in
the .v file in your IDE than it does in the HTML rendition in
your browser, if you are viewing both. In .v files, we write the
∀ universal quantifier using the reserved identifier
"forall." When the .v files are converted to HTML, this gets
transformed into an upside-down-A symbol.)
Theorem plus_O_n' : ∀n : nat, 0 + n = n.
Proof.
by []. Qed.
Proof.
by []. Qed.
It will be useful later to know that reflexivity
does somewhat more simplification than, e.g., simpl does — for
example, it tries "unfolding" defined terms, replacing them with
their right-hand sides. The reason for this difference is that,
if reflexivity succeeds, the whole goal is finished and we don't
need to look at whatever expanded expressions reflexivity has
created by all this simplification and unfolding; by contrast,
simpl and its relatives are used in situations where we may have to read and
understand the new goal that it creates, so we would not want it
blindly expanding definitions and leaving the goal in a messy
state.
The form of the theorem we just stated and its proof are almost
exactly the same as the simpler examples we saw earlier; there are
just a few differences.
First, we've used the keyword Theorem instead of Example.
As already explained, this difference is purely a matter of style.
Second, we've added the quantifier ∀ n:nat, so that our
theorem talks about all natural numbers n. Informally, to
prove theorems of this form, we generally start by saying "Suppose
n is some number..." Formally, this is achieved in the proof by
intros n, which moves n from the quantifier in the goal to a
context of current assumptions.
The keywords intros, simpl, and reflexivity are examples of
tactics. A tactic is a command that is used between Proof and
Qed to guide the process of checking some claim we are making.
We will see several more tactics in the rest of this chapter and
yet more in future chapters.
Other similar theorems can be proved with the same pattern.
Theorem plus_1_l : ∀n:nat, 1 + n = S n. by []. Qed.
Theorem mult_0_l : ∀n:nat, 0 * n = 0. reflexivity . Qed.
Theorem mult_0_l : ∀n:nat, 0 * n = 0. reflexivity . Qed.
The _l suffix in the names of these theorems is
pronounced "on the left."
Although simplification is powerful enough to prove some fairly
general facts, there are many statements that cannot be handled by
simplification alone. For instance, we cannot use it to prove
that 0 is also a neutral element for + on the right.
Theorem plus_n_O : ∀n, n = n + 0.
Proof.
intros n.
Fail reflexivity.
Proof.
intros n.
Fail reflexivity.
We can finish it in the ssreflect way though...
by [].
Qed.
Qed.
We will see another way to deal with this later.
Theorem plus_id_example : ∀n m:nat,
n = m →
n + n = m + m.
n = m →
n + n = m + m.
Instead of making a universal claim about all numbers n and m,
it talks about a more specialized property that only holds when n
= m. The arrow symbol is pronounced "implies."
As before, we need to be able to reason by assuming we are given such
numbers n and m. We also need to assume the hypothesis
n = m. The intros tactic will serve to move all three of these
from the goal into assumptions in the current context.
Since n and m are arbitrary numbers, we can't just use
simplification to prove this theorem. Instead, we prove it by
observing that, if we are assuming n = m, then we can replace
n with m in the goal statement and obtain an equality with the
same expression on both sides. The tactic that tells Coq to
perform this replacement is called rewrite.
Proof.
(* move both quantifiers and the hypothesis into the context: *)
intros n m H.
(* rewrite the goal using the hypothesis: *)
rewrite → H.
reflexivity. Qed.
(* move both quantifiers and the hypothesis into the context: *)
intros n m H.
(* rewrite the goal using the hypothesis: *)
rewrite → H.
reflexivity. Qed.
The first line of the proof moves the universally quantified
variables n and m into the context. The second moves the
hypothesis n = m into the context and gives it the name H.
The third tells Coq to rewrite the current goal (n + n = m + m)
by replacing the left side of the equality hypothesis H with the
right side.
(The arrow symbol in the rewrite has nothing to do with
implication: it tells Coq to apply the rewrite from left to right.
To rewrite from right to left, you can use rewrite <-. Try
making this change in the above proof and see what difference it
makes.)
Here's how to prove this theorem in the ssreflect style.
Theorem plus_id_example' : ∀n m:nat,
n = m →
n + n = m + m.
Proof.
by
move⇒ n m H;
rewrite H. Qed.
n = m →
n + n = m + m.
Proof.
by
move⇒ n m H;
rewrite H. Qed.
The use of move ⇒ has its advantages, especially regarding naming conventions. Will discuss it in more detail when we have a better background later.
Theorem plus_id_exercise : ∀n m o : nat,
n = m → m = o → n + m = m + o.
Proof.
(* WORKED IN CLASS *)
intros m n o EQmn EQno.
rewrite → EQmn.
rewrite → EQno.
reflexivity. Qed.
(* by move=> n m o EQmn EQno; rewrite EQmn EQno. Qed.*)
n = m → m = o → n + m = m + o.
Proof.
(* WORKED IN CLASS *)
intros m n o EQmn EQno.
rewrite → EQmn.
rewrite → EQno.
reflexivity. Qed.
(* by move=> n m o EQmn EQno; rewrite EQmn EQno. Qed.*)
We can also use the rewrite tactic with a previously proved
theorem instead of a hypothesis from the context. If the statement
of the previously proved theorem involves quantified variables,
as in the example below, Coq tries to instantiate them
by matching with the current goal.
Theorem mult_double : ∀p q : nat,
p = q → (p + p) * q = (q + q) * q.
Proof.
by move⇒ p q EQpq; rewrite EQpq.
Qed.
p = q → (p + p) * q = (q + q) * q.
Proof.
by move⇒ p q EQpq; rewrite EQpq.
Qed.
Theorem mult_S_1 : ∀n m : nat,
m = S n →
m * (1 + n) = m * m.
Proof.
(* FILL IN HERE *) Admitted.
(* (N.b. This proof can actually be completed without using rewrite,
but please do use rewrite for the sake of the exercise.) *)
☐
m = S n →
m * (1 + n) = m * m.
Proof.
(* FILL IN HERE *) Admitted.
(* (N.b. This proof can actually be completed without using rewrite,
but please do use rewrite for the sake of the exercise.) *)
Proof by Case Analysis
Theorem plus_1_neq_0_firsttry : ∀n : nat,
(n + 1 =? 0) = false.
Proof.
intros n.
Fail reflexivity.
Abort.
(n + 1 =? 0) = false.
Proof.
intros n.
Fail reflexivity.
Abort.
This time, ssreflect finds no magic bullet either...
Theorem plus_1_neq_0_firsttry' : ∀n : nat,
(n + 1 =? 0) = false.
Proof.
move⇒ n.
Fail by [].
Abort.
(n + 1 =? 0) = false.
Proof.
move⇒ n.
Fail by [].
Abort.
The reason for this is that the definitions of both
beq_nat and + begin by performing a match on their first
argument. But here, the first argument to + is the unknown
number n and the argument to beq_nat is the compound
expression n + 1; neither can be simplified.
To make progress, we need to consider the possible forms of n
separately. If n is O, then we can calculate the final result
of beq_nat (n + 1) 0 and check that it is, indeed, false. And
if n = S n' for some n', then, although we don't know exactly
what number n + 1 yields, we can calculate that, at least, it
will begin with one S, and this is enough to calculate that,
again, beq_nat (n + 1) 0 will yield false.
The tactic that tells Coq to consider, separately, the cases where
n = O and where n = S n' is called destruct.
Theorem plus_1_neq_0 : ∀n : nat,
(n + 1 =? 0) = false.
Proof.
intros n. destruct n as [| n'].
- reflexivity.
- reflexivity.
Qed.
(n + 1 =? 0) = false.
Proof.
intros n. destruct n as [| n'].
- reflexivity.
- reflexivity.
Qed.
There is syntactic sugar for doing destruct following intros:
Theorem plus_1_neq_0' : ∀n : nat,
beq_nat (n + 1) 0 = false.
Proof.
intros [| n'].
- reflexivity.
- reflexivity.
Qed.
beq_nat (n + 1) 0 = false.
Proof.
intros [| n'].
- reflexivity.
- reflexivity.
Qed.
The destruct generates two subgoals, which we must then
prove, separately, in order to get Coq to accept the theorem. The
annotation "as [| n']" is called an intro pattern. It tells
Coq what variable names to introduce in each subgoal. In general,
what goes between the square brackets is a list of lists of
names, separated by |. In this case, the first component is
empty, since the O constructor is nullary (it doesn't have any
arguments). The second component gives a single name, n', since
S is a unary constructor.
The - signs on the second and third lines are called bullets,
and they mark the parts of the proof that correspond to each
generated subgoal. The proof script that comes after a bullet is
the entire proof for a subgoal. In this example, each of the
subgoals is easily proved by a single use of reflexivity, which
itself performs some simplification — e.g., the second one
simplifies beq_nat (S n' + 1) 0 to false by first rewriting
(S n' + 1) to S (n' + 1), then unfolding beq_nat, and then
simplifying the match.
Marking cases with bullets is entirely optional: if bullets are
not present, Coq simply asks you to prove each subgoal in
sequence, one at a time. But it is a good idea to use bullets.
For one thing, they make the structure of a proof apparent, making
it more readable. Also, bullets instruct Coq to ensure that a
subgoal is complete before trying to verify the next one,
preventing proofs for different subgoals from getting mixed
up. These issues become especially important in large
developments, where fragile proofs lead to long debugging
sessions.
There are no hard and fast rules for how proofs should be
formatted in Coq — in particular, where lines should be broken
and how sections of the proof should be indented to indicate their
nested structure. However, if the places where multiple subgoals
are generated are marked with explicit bullets at the beginning of
lines, then the proof will be readable almost no matter what
choices are made about other aspects of layout.
This is also a good place to mention one other piece of somewhat
obvious advice about line lengths. Beginning Coq users sometimes
tend to the extremes, either writing each tactic on its own line
or writing entire proofs on one line. Good style lies somewhere
in the middle. One reasonable convention is to limit yourself to
80-character lines.
There is a short way to throw the same tactic on every subgoal. It is provided by the ; tactical. "Tacticals" are tactics that take other tactics as
arguments — "higher-order tactics," if you will. We have already seen an example of one: it was by of ssreflect.
Theorem plus_1_neq_0'' : ∀n : nat,
beq_nat (n + 1) 0 = false.
Proof.
intros [| n']; reflexivity.
Qed.
beq_nat (n + 1) 0 = false.
Proof.
intros [| n']; reflexivity.
Qed.
The ; Tactical (General Form)
T; [T1 | T2 | ... | Tn]
is a tactic that first performs T and then performs T1 on the
first subgoal generated by T, performs T2 on the second
subgoal, etc.
T; [T' | T' | ... | T']
Theorem plus_1_neq_0''' : ∀n : nat,
(n + 1 =? 0) = false.
Proof. by case.
Qed.
(n + 1 =? 0) = false.
Proof. by case.
Qed.
The destruct tactic and its relatives can be used with any inductively defined
datatype. For example, we use them next to prove that boolean
negation is involutive — i.e., that negation is its own
inverse.
Theorem negb_involutive : ∀b : bool,
negb (negb b) = b.
Proof.
intros []; reflexivity .
Qed.
negb (negb b) = b.
Proof.
intros []; reflexivity .
Qed.
... or, alternatively...
Theorem negb_involutive' : ∀b : bool,
negb (negb b) = b. by case.
Qed.
negb (negb b) = b. by case.
Qed.
We can have nested subgoals (and we use different "bullets"
to mark the inner ones):
Theorem andb_commutative_boring : ∀b c, b && c = c && b.
destruct b.
- destruct c.
+ reflexivity.
+ reflexivity.
- destruct c.
+ reflexivity.
+ reflexivity.
Qed.
destruct b.
- destruct c.
+ reflexivity.
+ reflexivity.
- destruct c.
+ reflexivity.
+ reflexivity.
Qed.
Better...
Theorem andb_commutative : ∀b c, b && c = c && b.
Proof.
intros [] []; reflexivity.
Qed.
Proof.
intros [] []; reflexivity.
Qed.
... and in the ssreflect style ...
Theorem andb_commutative' : ∀b c, b && c = c && b.
by do 2! case.
Qed.
by do 2! case.
Qed.
Similarly...
Theorem andb3_exchange:
∀b c d, (b && c) && d = (b && d) && c.
Proof.
intros [] [] []; reflexivity.
Qed.
Theorem andb3_exchange' :
∀b c d, (b && c) && d = (b && d) && c.
Proof.
by do 3! case.
Qed.
∀b c d, (b && c) && d = (b && d) && c.
Proof.
intros [] [] []; reflexivity.
Qed.
Theorem andb3_exchange' :
∀b c d, (b && c) && d = (b && d) && c.
Proof.
by do 3! case.
Qed.
More Exercises
Exercise: 2 stars, standard (identity_fn_applied_twice)
Use the tactics you have learned so far to prove the following theorem about boolean functions.
Theorem identity_fn_applied_twice :
∀(f : bool → bool),
(∀(x : bool), f x = x) →
∀(b : bool), f (f b) = b.
Proof.
(* FILL IN HERE *) Admitted.
∀(f : bool → bool),
(∀(x : bool), f x = x) →
∀(b : bool), f (f b) = b.
Proof.
(* FILL IN HERE *) Admitted.
Now state and prove a theorem negation_fn_applied_twice similar
to the previous one but where the second hypothesis says that the
function f has the property that f x = negb x.
(* FILL IN HERE *)
☐
Proof by Induction
Check plus_1_l.
Theorem plus_1_r_attempt : ∀n, S n = n + 1.
Proof.
Fail reflexivity.
intros [].
- reflexivity.
- Fail reflexivity.
Abort.
Theorem plus_1_r_attempt : ∀n, S n = n + 1.
Proof.
Fail reflexivity.
intros [].
- reflexivity.
- Fail reflexivity.
Abort.
ssreflect also cannot handle examples such as this one using tactics we've learned so far:
Theorem plus_1_r_ssr_attempt : ∀n, S n = n + 1.
Proof.
Fail by [].
Fail by case.
Abort.
Proof.
Fail by [].
Fail by case.
Abort.
... or such as this one ...
Theorem minus_diag : ∀n,
minus n n = 0.
Proof.
Fail by [].
Fail by case.
Abort.
minus n n = 0.
Proof.
Fail by [].
Fail by case.
Abort.
So we're gonna need a bigger boat.
To prove interesting facts about numbers, lists, and other
inductively defined sets, we usually need a more powerful
reasoning principle: induction.
Recall (from high school, a discrete math course, etc.) the
principle of induction over natural numbers: If P(n) is some
proposition involving a natural number n and we want to show
that P holds for all numbers n, we can reason like this:
In Coq, the steps are the same but the order is backwards: we
begin with the goal of proving P(n) for all n and break it
down (by applying the induction tactic) into two separate
subgoals: first showing P(O) and then showing P(n') → P(S
n'). Here's how this works for the theorem at hand:
- show that P(O) holds;
- show that, for any n', if P(n') holds, then so does P(S n');
- conclude that P(n) holds for all n.
Theorem plus_n_O_with_ltac : ∀n:nat, n = n + 0.
Proof.
intros n. induction n as [| n' IHn'].
- (* n = 0 *) reflexivity.
- (* n = S n' *) simpl. rewrite <- IHn'. reflexivity.
Qed.
Proof.
intros n. induction n as [| n' IHn'].
- (* n = 0 *) reflexivity.
- (* n = S n' *) simpl. rewrite <- IHn'. reflexivity.
Qed.
Like destruct, the induction tactic takes an as...
clause that specifies the names of the variables to be introduced
in the subgoals. In the first branch, n is replaced by 0 and
the goal becomes 0 + 0 = 0, which follows by simplification. In
the second, n is replaced by S n' and the assumption n' + 0 =
n' is added to the context (with the name IHn', i.e., the
Induction Hypothesis for n' — notice that this name is
explicitly chosen in the as... clause of the call to induction
rather than letting Coq choose one arbitrarily). The goal in this
case becomes (S n') + 0 = S n', which simplifies to S (n' + 0)
= S n', which in turn follows from IHn'.
ssreflect avoids the tactic induction (along with other
tactics, like intro and inversion, which we will introduce
later) since they implement fragile context manipulation
heuristics which hinder precise bookkeeping; as you already
witnessed, these tactics generate variable names on their own,
which are possibly referenced later in the proof script …
Instead, the more basic induction tactic elim is preferred.
Induction in ssreflect
Theorem plus_1_r : ∀n, S n = n + 1.
Proof.
elim⇒ [| n IHn] /=.
- (* n = 0 *) by [].
- (* n = S n' *) move⇒ /=. by rewrite IHn.
Qed.
Proof.
elim⇒ [| n IHn] /=.
- (* n = 0 *) by [].
- (* n = S n' *) move⇒ /=. by rewrite IHn.
Qed.
We see here how on-the-fly simplification is done in
ssreflect (using the switch /=).
Theorem minus_diag : ∀n,
minus n n = 0.
Proof.
(* WORKED IN CLASS *)
by elim.
Qed.
Theorem minus_diag_with_ltac : ∀n,
minus n n = 0.
Proof.
intros n. induction n as [| n' IHn'].
- (* n = 0 *)
simpl. reflexivity.
- (* n = S n' *)
simpl. rewrite → IHn'. reflexivity. Qed.
minus n n = 0.
Proof.
(* WORKED IN CLASS *)
by elim.
Qed.
Theorem minus_diag_with_ltac : ∀n,
minus n n = 0.
Proof.
intros n. induction n as [| n' IHn'].
- (* n = 0 *)
simpl. reflexivity.
- (* n = S n' *)
simpl. rewrite → IHn'. reflexivity. Qed.
More uses of induction
Theorem mult_0_r : ∀n:nat,
n * 0 = 0.
Proof.
(* WORKED IN CLASS *)
by elim.
Qed.
n * 0 = 0.
Proof.
(* WORKED IN CLASS *)
by elim.
Qed.
reflexivity. - n = S n' *)
simpl. rewrite → IHn'. reflexivity. Qed.
Theorem plus_assoc : ∀n m p : nat,
n + (m + p) = (n + m) + p.
Proof.
move ⇒ n ? ?. (* This is how you do "anonymous intros" in ssreflect. *)
(* WORKED IN CLASS *)
elim n ⇒ [|n' Hn'] /=.
- by [].
- by rewrite Hn'.
Qed.
n + (m + p) = (n + m) + p.
Proof.
move ⇒ n ? ?. (* This is how you do "anonymous intros" in ssreflect. *)
(* WORKED IN CLASS *)
elim n ⇒ [|n' Hn'] /=.
- by [].
- by rewrite Hn'.
Qed.
Standard Ltac:
How abour commutativity? Here, as it turns out, we need one more little insight...
Recall our plus_n_O? It is not so interesting in its own right. But it's very
often the case we need such auxiliary lemmas for more interesting
inductive proofs, such as the one below.
First, let us see another lemma already in the standard library...
intros n m p. induction n as [| n' IHn'].
- (* n = 0 *)
reflexivity.
- (* n = S n' *)
simpl. rewrite → IHn'. reflexivity. Qed.
- (* n = 0 *)
reflexivity.
- (* n = S n' *)
simpl. rewrite → IHn'. reflexivity. Qed.
Check plus_n_Sm.
(* =>
plus_n_Sm
: forall n m : nat, S (n + m) = n + S m *)
Theorem plus_comm : ∀n m : nat,
n + m = m + n.
Proof.
(* WORKED IN CLASS *)
move ⇒ n; elim ⇒ [|m' IHm'] /=.
- by rewrite -plus_n_O.
- by rewrite -IHm' plus_n_Sm.
Qed.
(* =>
plus_n_Sm
: forall n m : nat, S (n + m) = n + S m *)
Theorem plus_comm : ∀n m : nat,
n + m = m + n.
Proof.
(* WORKED IN CLASS *)
move ⇒ n; elim ⇒ [|m' IHm'] /=.
- by rewrite -plus_n_O.
- by rewrite -IHm' plus_n_Sm.
Qed.
intros n m. induction m as [| m' IHm'].
- (* m = 0 *)
simpl. rewrite <- plus_n_O. reflexivity.
- (* m = S m' *)
simpl. rewrite <- IHm'. rewrite <- plus_n_Sm.
reflexivity. Qed.
- (* m = 0 *)
simpl. rewrite <- plus_n_O. reflexivity.
- (* m = S m' *)
simpl. rewrite <- IHm'. rewrite <- plus_n_Sm.
reflexivity. Qed.
Exercise: 2 stars, standard, optional (evenb_S)
One inconveninent aspect of our definition of evenb n is that it may need to perform a recursive call on n - 2. This makes proofs about evenb n harder when done by induction on n, since we may need an induction hypothesis about n - 2. The following lemma gives a better characterization of evenb (S n):
Theorem evenb_S : ∀n : nat,
evenb (S n) = negb (evenb n).
Proof.
(* FILL IN HERE *) Admitted.
☐
evenb (S n) = negb (evenb n).
Proof.
(* FILL IN HERE *) Admitted.
Proofs Within Proofs
Theorem mult_0_plus' : ∀n m : nat,
(0 + n) * m = n * m.
Proof.
intros n m.
assert (H: 0 + n = n). { reflexivity. }
rewrite → H.
reflexivity. Qed.
(0 + n) * m = n * m.
Proof.
intros n m.
assert (H: 0 + n = n). { reflexivity. }
rewrite → H.
reflexivity. Qed.
The assert tactic introduces two sub-goals. The first is
the assertion itself; by prefixing it with H: we name the
assertion H. (We can also name the assertion with as just as
we did above with destruct and induction, i.e., assert (0 + n
= n) as H.) Note that we surround the proof of this assertion
with curly braces { ... }, both for readability and so that,
when using Coq interactively, we can see more easily when we have
finished this sub-proof. The second goal is the same as the one
at the point where we invoke assert except that, in the context,
we now have the assumption H that 0 + n = n. That is,
assert generates one subgoal where we must prove the asserted
fact and a second subgoal where we can use the asserted fact to
make progress on whatever we were trying to prove in the first
place.
The assert tactic is handy in many sorts of situations ...
Rewriting guided by assertions
Theorem plus_rearrange_firsttry : ∀n m p q : nat,
(n + m) + (p + q) = (m + n) + (p + q).
The only difference between the two sides of the
= is that the arguments m and n to the first inner + are
swapped, so it seems we should be able to use the commutativity of
addition (plus_comm) to rewrite one into the other.  There are three uses of + here, and it turns out
that doing rewrite → plus_comm will affect only the outer
one...
Proof.
intros n m p q.
(* We just need to swap (n + m) for (m + n)...
it seems like plus_comm should do the trick! *)
rewrite → plus_comm.
(* Doesn't work...Coq rewrote the wrong plus! *)
Abort.
intros n m p q.
(* We just need to swap (n + m) for (m + n)...
it seems like plus_comm should do the trick! *)
rewrite → plus_comm.
(* Doesn't work...Coq rewrote the wrong plus! *)
Abort.
To get plus_comm to apply at the point where we want it to, we
can introduce a local lemma stating that n + m = m + n (for the
particular m and n that we are talking about here), prove this
lemma using plus_comm, and then use it to do the desired
rewrite.
Theorem plus_rearrange : ∀n m p q : nat,
(n + m) + (p + q) = (m + n) + (p + q).
Proof.
intros n m p q.
assert (H: n + m = m + n).
{ rewrite → plus_comm. reflexivity. }
rewrite → H. reflexivity. Qed.
(n + m) + (p + q) = (m + n) + (p + q).
Proof.
intros n m p q.
assert (H: n + m = m + n).
{ rewrite → plus_comm. reflexivity. }
rewrite → H. reflexivity. Qed.
Rewriting eased by ssreflect
- performs rewriting, simplifications, folding/unfolding of definitions
- can chain rewriting operations
- enhanced occurrence selection
Theorem plus_rearrange' : ∀n m p q : nat,
(n + m) + (p + q) = (m + n) + (p + q).
Proof.
move⇒ n m.
rewrite [n + _]plus_comm.
by [].
Qed.
(n + m) + (p + q) = (m + n) + (p + q).
Proof.
move⇒ n m.
rewrite [n + _]plus_comm.
by [].
Qed.
The rewrite pattern in square brackets can be (among other
things not important at this stage) any term.
As you can imagine, we can do induction on any inductive type. Here is one example:
We can generalize our unary representation of natural numbers to
the more efficient binary representation by treating a binary
number as a sequence of constructors A and B (representing 0s
and 1s), terminated by a Z. For comparison, in the unary
representation, a number is a sequence of Ss terminated by an
O.
For example:
Induction beyond natural numbers
decimal binary unary
0 Z O
1 B Z S O
2 A (B Z) S (S O)
3 B (B Z) S (S (S O))
4 A (A (B Z)) S (S (S (S O)))
5 B (A (B Z)) S (S (S (S (S O))))
6 A (B (B Z)) S (S (S (S (S (S O)))))
7 B (B (B Z)) S (S (S (S (S (S (S O))))))
8 A (A (A (B Z))) S (S (S (S (S (S (S (S O)))))))
Note that the low-order bit is on the left and the high-order bit
is on the right — the opposite of the way binary numbers are
usually written. This choice makes them easier to manipulate.
0 Z O
1 B Z S O
2 A (B Z) S (S O)
3 B (B Z) S (S (S O))
4 A (A (B Z)) S (S (S (S O)))
5 B (A (B Z)) S (S (S (S (S O))))
6 A (B (B Z)) S (S (S (S (S (S O)))))
7 B (B (B Z)) S (S (S (S (S (S (S O))))))
8 A (A (A (B Z))) S (S (S (S (S (S (S (S O)))))))
Inductive bin : Type :=
| Z
| A (n : bin)
| B (n : bin).
Fixpoint bin_to_nat (m:bin) : nat :=
match m with
| Z ⇒ O
| A m' ⇒ 2 * bin_to_nat m'
| B m' ⇒ 1 + 2 * bin_to_nat m'
end.
| Z
| A (n : bin)
| B (n : bin).
Fixpoint bin_to_nat (m:bin) : nat :=
match m with
| Z ⇒ O
| A m' ⇒ 2 * bin_to_nat m'
| B m' ⇒ 1 + 2 * bin_to_nat m'
end.
(a) Complete the definition below of an increment function incr
for binary numbers.
Fixpoint incr (m:bin) : bin
(* REPLACE THIS LINE WITH ":= _your_definition_ ." *). Admitted.
Example test_bin_incr1 : (incr (B Z)) = A (B Z).
(* FILL IN HERE *) Admitted.
Example test_bin_incr2 : (incr (A (B Z))) = B (B Z).
(* FILL IN HERE *) Admitted.
Example test_bin_incr3 : bin_to_nat (A (B Z)) = 2.
(* FILL IN HERE *) Admitted.
Example test_bin_incr4 :
bin_to_nat (incr (B Z)) = 1 + bin_to_nat (B Z).
(* FILL IN HERE *) Admitted.
Example test_bin_incr5 :
bin_to_nat (incr (incr (B Z))) = 2 + bin_to_nat (B Z).
(* FILL IN HERE *) Admitted.
Theorem incr_is_S: ∀m:bin, bin_to_nat (incr m) = S (bin_to_nat m).
(* FILL IN HERE *) Admitted.
(* Sun Jul 14 22:07:53 MSK 2019 *)
(* REPLACE THIS LINE WITH ":= _your_definition_ ." *). Admitted.
Example test_bin_incr1 : (incr (B Z)) = A (B Z).
(* FILL IN HERE *) Admitted.
Example test_bin_incr2 : (incr (A (B Z))) = B (B Z).
(* FILL IN HERE *) Admitted.
Example test_bin_incr3 : bin_to_nat (A (B Z)) = 2.
(* FILL IN HERE *) Admitted.
Example test_bin_incr4 :
bin_to_nat (incr (B Z)) = 1 + bin_to_nat (B Z).
(* FILL IN HERE *) Admitted.
Example test_bin_incr5 :
bin_to_nat (incr (incr (B Z))) = 2 + bin_to_nat (B Z).
(* FILL IN HERE *) Admitted.
Theorem incr_is_S: ∀m:bin, bin_to_nat (incr m) = S (bin_to_nat m).
(* FILL IN HERE *) Admitted.
(* Sun Jul 14 22:07:53 MSK 2019 *)


Currently
Product Manager at Google
2018 - today | New York, New York
Previously
Teaching for
iXperience
2017 | Lisbon, Portugal
Computer Science and Linguistics at
Duke
2014 - 18 | Durham, NC
Helping college applicants at
CollegeVine
2015 - 17 | remote
Interned at
Google,
Smartkarma,
Quobyte
2016-17 | Berlin, Singapore, San Francisco


Steelers rule out Conner and Smith-Schuster for Bengals game
by OmnisportThe Pittsburgh Steelers have ruled out James Conner and JuJu Smith-Schuster ahead of Sunday's game against the Cincinnati Bengals.
Both players did not participate in practice on Friday, leading to the Steelers confirming neither will be involved in the Week 12 AFC North clash at Paul Brown Stadium.
Running back Conner aggravated a shoulder injury during the first quarter of the Steelers' 21-7 loss to the Cleveland Browns last Thursday.
In his absence, Jaylen Samuels, Trey Edmunds and Benny Snell – who is back after missing three games with a knee problem – will be used in the rushing game, while recently signed Kerrith Whyte is also set to feature.
"I expect Whyte to be ready to go this Sunday, and really not have many limitations," offensive coordinator Randy Fichtner told the team's official website.
Wide receiver Smith-Schuster, meanwhile, suffered both a concussion and a knee problem against the Browns. Like Conner, he had not been involved in practice for three straight days.
Diontae Johnson also had a concussion in the same game, but the receiver was a full participant on Friday.
"We continue to lose guys," said Pittsburgh tight end Vance McDonald.
"Diontae is expected to step up and be a huge contributor for [quarterback] Mason [Rudolph] and the offense. I am excited to see how he can bounce back from a devastating hit like that and continue to build."


If ArrayType is an array, returns the type of an array element or the type of the array. If ArrayType is not an array, returns never.
Use this type instead of {} if you need to define an object which must not have any properties, eg. steps which have no parameters.
Returns the keys of all properties of T whose values extend U.
Returns the keys of all properties of T whose values' ReturnTypes extend U.
This object's keys are the ids of the validated Stories (eg."2.4.5") and its values are either a single id (eg. 3) or an ids array (eg. [3, 4, 5]) of acceptance criteria defined within the associated Story.
Returns the keys of all properties of T whose values are not never.
Omits all properties from T whose key names are in K.
Makes all properties of Type optional, except for those whose keys are passed as K.
Type is the original object.
K represents the original object's property keys to be picked from the original object unaltered.
KPartial represents the original object's property keys to be picked from the original object and turned into optional properties.
Severity describes how severe the implications of something not working correctly would be.
The result status of a validation/an acceptance criteria of a Story.
Steps in wdio-workflo need to be defined in this format - on object where the keys are the step descriptions and the values are step creation functions that take the step parameters as and argument and return a created Step.
Reserved for future use when typescript bugs https://github.com/Microsoft/TypeScript/issues/24560 and https://github.com/Microsoft/TypeScript/issues/24791are are resolved.
Reserved for future use when typescript bugs https://github.com/Microsoft/TypeScript/issues/24560 and https://github.com/Microsoft/TypeScript/issues/24791are are resolved.
The result status of a testcase.
If ArrayType is an array, returns the type of an array element. If ArrayType is not an array, returns ArrayType.
If ArrayType is an array, returns the type of an array element or the type of the array. If ArrayType is not an array, returns ArrayType.
The type of a webdriverio element returned by browser.element
or browser.$
.
The type of webdriverio elements returned by browser.elements
or browser.$$
.
Returns all properties of T whose values are not never.
XPath can be supplied to wdio-workflo either via an XPathBuilder or as a raw XPath string
Generated using TypeDoc
If ArrayType is an array, returns the type of an array element. If ArrayType is not an array, returns never.


Project Details
About Client
Uploading .ZIP file
Project Details
Fill in the form with same details as Study Proposal
About Customer
Fill in Paying Company and End Customer
Uploading .ZIP file
Choose a .zip file if it's ready


Mary Jo's Experience:
When I first joined Gift Givers Anonymous and helped distribute gifts to unsuspecting receivers I was a bit apprehensive about approaching strangers. I thought, “If anyone approached me in such a way, I would probably take a step back or keep walking.” After watching Kalei approach people with a big smile, kind and comforting words, I thought, “I can do this.” So I did. The more I handed gifts the more comfortable I became. The more comfortable I became the more I watched the people I approached relax.
Watching people’s reactions when we handed them a gift for no reason, other than to spread some gifts of Kindness was pure JOY! The excitement on the people’s faces at getting something gifted to them wrapped in colorful paper or a festive bag, WOW!!
If you were to ask me which person affected me the most it would be the woman I saw ringing the bell for the Salvation Army bucket donations outside a Wal-Mart. She was the cheeriest bell ringer I had ever seen! She wore a hat with a light blinking Christmas tree on it. I was drawn to her unabashed smile, warm cheery words of the season for everyone who passed her by. When I gave her a gift she was so excited! We hugged. It dawned on me that I may have made an impact on this person! What a euphoric feeling. To think that this, simple act of giving made one woman ecstatic is truly heart-warming and humbling.
I’m hooked! I have to continue being involved in this project in any way possible – giving, buying items to donate, wrapping, organizing, distributing, or taking pictures of the givers & receivers. Check out the pictures from last year (2012) when we had three generations involved in wrapping and two generations involved in giving. What great energy, teamwork and fun we all had.
To think, the 1st year we had 10 gifts to give, the 2nd year we had 20 gifts to give and December 2012 (year 5) we had over 100 gifts we gave out. That is amazing! This year, the project has grown so phenomenally that storage space had to be rented to hold all the items and gift wrapping that people have been so generous in donating, and it is busting at the seams. Just imagine all the people that are going to be blessed and touched by the kindness of strangers. Will you be one of those strangers who join us in making this a movement with ramifications that ripple through Albuquerque and beyond?
Mary Jo Moeller
Albuquerque, NM--------


---
layout: index-layout
subject: My Email Templates
---
{{>header}}
{{> content purple-title="Which fragrance speaks to you?" text-content="Refreshing citrus or soothing lavender? Fresh-mown grass or fresh-roasted coffee? Masculine leather or feminine florals? Clearly, the sense of smell is powerful. And with aroma marketing, Ambius design consultants put that power to work for your brand." link-to="https://www.google.com" button-text="Learn more"}}
{{> content title="How aroma marketing works" text-content="Aroma evokes memories. Memories arouse emotions. Emotions influence behavior. With an almost imperceptible aroma, Premium Scenting can heighten your customer's experience and differentiate your brand." bold-text="Ready to unveil your brand's scent?" button-text="Unveil now"}}
{{> content title="The Ambius difference" text-content="Our expert designers specialize in the design and development of scents for world famous fragrance houses. We know how to identify 'just the right' scent for your brand.  bold-text="Please don't miss the opportunity for a free consultation." button-text="Contact Us"}}
{{> footer}}
Keep on keepin' on. <3 ZURB


WASP - Construction Density Analysis for Chicago
GoTo Controls
Team: Prashant Kubsad, Wael Sultan, Aayush Parawal, Brian Tran, Scott Bader
Automate Transition
Pause/Play to visualize changes
as the slider moves along time.
Play
Map Controls
Construction Permit Markers
Ward-wise Density
Projections
Calculated using Multivariate ARIMA
2022
2023


Hi I'm Wes!
Welcome to my conference badge. It's powered by Linux and Rust running on a Raspberry Pi Zero W with a tri-colour Inky pHAT ePaper dispay. The source code is on GitHub.
{% match hi_count %} {%- when 0 %}No people have said hi. {%- when 1 %}One person has said hi. {%- else %}{{ hi_count }} people have said hi. {% endmatch %}
Say hello in person and on the badge. To increment the hello counter on the badge:
I'm a software developer from Melbourne, Australia. I currently work at GreenSync building systems to help make better use of renewable energy.
Find me on the Internet at:
|<EMAIL_ADDRESS>| |
| GitHub | https://github.com/wezm |
| Mastodon | https://mastodon.social/@wezm |
| https://twitter.com/wezm | |
| Website | http://www.wezm.net/ |
(_\)(/_) OS: {{ os_name }} (_(__)_) KERNEL: {{ uname.sysname() }} {{ uname.release() }} (_(_)(_)_) UPTIME: {{ uptime }} {% match memory %} {%- when Some with (mem) %} (_(__)_) MEMORY: {{ mem.free }} free of {{ mem.total }} {%- when None %} (_(__)_) MEMORY: unknown {% endmatch %} (__) .------------------------. | Powered by Rust! | '------------------------' / / _~^~^~_ \) / o o \ (/ '_ - _' / '-----' \


Genomics, computation and sequencing
Mortazavi Lab at UC Irvine
Nature, 2020
Nature, 2020
bioRxiv, 2020
bioRxiv, 2020
bioRxiv, 2020
bioRxiv, 2020
PLoS genetics, 2020
PLoS pathogens, 2019
PLoS computational biology, 2019
Life science alliance, 2019
bioRxiv, 2019
PLoS biology, 2019
International journal of molecular sciences, 2019
G3; Genes, Genomes, Genetics, 2019
, 2019
Science Advances, 2019
BMC Genomics, 2019
Scientific data, 2019
, 2019
BioRxiv, 2019
bioRxiv, 2019
, 2018
Available at SSRN 3284454, 2018
bioRxiv, 2018
Glia, 2018
ACS chemical biology, 2018
Bioinformatics, 2018
Genome research, 2018
Bio-protocol, 2018
Molecular psychiatry, 2018
Briefings in functional genomics, 2018
Development, 2018
Journal of Investigative Dermatology, 2018
Genome Biology and Evolution, 2017
Cell reports, 2017
Molecular Neurodegeneration, 2017
Neuron, 2017
PLoS Pathogens, 2017
Cell Systems, 2017
Science, 2017
Proceedings of the National Academy of Sciences, 2017
Nucleic acids research, 2016
Genome biology, 2016
Genome biology, 2015
Nature methods, 2015
Human mutation, 2014
Genome biology, 2014
Nature, 2014
Molecular ecology, 2014
Nature, 2014
BMC systems biology, 2014
Genetics, 2013
Genome research, 2013
Nature methods, 2013
Nature, 2012
Journal of Nematology, 2012
Genome Biology, 2012
Genome Research, 2012
Nature, 2012
Nature immunology, 2012
Genome research, 2012
Cell, 2012
Cell, 2012
PLoS biology, 2011
Nature biotechnology, 2010
Genome research, 2010
Nature methods, 2009
Nature methods, 2008
Genes \& development, 2008
Science, 2007
Genome research, 2006
BMC bioinformatics, 2006


BAR Weekly: The Uptrend Should Resume Sooner Rather Than Later
by Orchid ResearchSummary
- BAR is under pressure, as most investors pile into risky assets due to positive trade developments.
- Since the net long spec position in CME gold is being de-grossed and that investors are selling gold to buy equities, the downward in BAR could run a little further.
- However, we strongly believe that the low VIX environment suggests that these investors could be complacent, which makes us structurally constructive on our gold and BAR outlook.
- We expect BAR's uptrend to resume sooner rather than later because the hawkish surprise from the Fed is fully digested and the risk of U.S.-China trade disappointment is elevated.
- Our year-end target for BAR is set at $16.00 per share, marking a 9% upside from its current level.
Introduction
Welcome to Orchid's Gold Weekly report. We discuss gold prices through the lenses of the GraniteShares Gold Trust ETF (BAR).
BAR is under pressure, as most investors pile into risky assets. Since the heavy net long position in CME gold held by speculators is being normalized and that ETF investors are selling gold to buy equities, the downward pressure in BAR could continue a little longer.
However, we strongly believe that the low VIX environment suggests that these investors could be complacent, which makes us structurally constructive on our gold and BAR outlook.
Given the risk of US-China trade disappointment is elevated (since the US-China "Phase 1" trade agreement is fully priced in) and that the hawkish repricing of the Fed's monetary policy is fully digested, we expect the macro environment for gold to turn friendlier sooner rather than later, which in turn should lend support to gold spot prices and BAR.
Our year-end target for BAR is set at $16.00 per share, marking a 9% upside from its current level.
Source: Trading View, Orchid Research
About BAR
BAR is directly impacted by the vagaries of gold spot prices because the Funds physically holds gold bars in a London vault and custodied by ICBC Standard Bank. The investment objective of the Fund is to replicate the performance of the price of gold, less trust expenses (0.1749%), according to BAR's prospectus.
The physically-backed methodology prevents investors from getting hurt by the contango structure of the gold market, contrary to ETFs using futures contracts.
Also, the structure of a grantor trust protects investors since trustees cannot lend the gold bars.
BAR provides exposure which is identical to established competitors like GLD and IAU, which are nevertheless much more costly to hold over a long period of time. Indeed, BAR offers an expense ratio of just 0.1749% while IAU and GLD have an expense ratio of 0.25% and 0.40%, respectively.
Speculative positioning
Source: CFTC, Orchid Research
Speculators cut slightly their net long position in Comex gold over November 5-12, for the first time in four weeks. We would have expected more speculative selling considering the decline of 1.8% in the CME gold price over the same period.
The net spec length is elevated, judging by historical standards. The normalized net spec length in Comex gold is at 73% of its max position over the past 5 years, after reaching a high of 98% late in September.
Source: CFTC, Orchid Research
The net long position in CME gold held by the speculative community could fall further, which could exert downward pressures on gold spot prices in immediate term.
Implications for BAR: The elevated net spec length in CME gold makes gold prices vulnerable to the downside. We are therefore cautious on BAR, from a spec positioning perspective.
Investment positioning
Source: Orchid Research
ETF investors sold 14 tonnes of gold last week, marking a second straight week of large outflows.
The recent wave of gold ETF selling is caused by the surge in risk-on mood, driven by the likely signing of the "Phase 1" agreement between the US and China.
The recently noticeable decline in equity volatility (VIX) suggests that investors have become anew complacent, expecting too much from this partial trade agreement, which remains "cosmetic" in nature.
Since we believe that equity volatility could re-emerge by year-end, inflows into gold ETF should resume.
Implications for BAR: For now, current gold ETF outflows are negative for gold spot prices and therefore BAR.
Closing thoughts
We contend that BAR could decline a little bit further in the immediate term, due to the current de-grossing of the heavy net long position in CME gold held by speculators and the present wave ETF selling caused by the risk-on mood prevailing in the financial markets.
However, we believe that the uptrend in BAR will resume sooner rather than later because 1)risk-off mood could re-emerge (given the elevated risk of market disappointment surrounding the seeming improvement in the US-China trade relations) and 2)the hawkish surprise from the Fed has been fully digested.
Against this, we maintain our year-end target for BAR at $16.00 per share.
Did you like this? Click the "Follow" button at the top of the article to receive notifications.
Disclosure: I/we have no positions in any stocks mentioned, and no plans to initiate any positions within the next 72 hours. I wrote this article myself, and it expresses my own opinions. I am not receiving compensation for it (other than from Seeking Alpha). I have no business relationship with any company whose stock is mentioned in this article.
Additional disclosure: Our research has not been prepared in accordance with the legal requirements designed to promote the independence of investment research. Therefore, this material cannot be considered as investment research, a research recommendation, nor a personal recommendation or advice, for regulatory purposes.


| Home | About us | Where We're Located | Hot Drinks | Pastries | Cakes | Cookies | Catering |
|---|
Delizioso caters ALL major events in the Philadelphia area! Much like Carlos from Cake Boss, we also custom make cakes and will deliver them to your event.
Please contact our shop at<PHONE_NUMBER> for orders, or head baker Lena to set up at meeting at our location in the Italian Market, Philadephia, PA.


Calculation of mean convective heat transfer coefficient kc of a straight pipe at an uniform wall temperature or uniform heat flux and for a hydrodynamically developed or undeveloped laminar or turbulent fluid flow with neglect or consideration of pressure loss influence.
There are basically three differences:
This heat transfer function enables a calculation of heat transfer coefficient for laminar and turbulent flow regime. The geometry, constant and fluid parameters of the function are the same as for kc_laminar and kc_turbulent.
The calculation conditions for laminar and turbulent flow is equal to the calculation in kc_laminar and kc_turbulent. A smooth transition between both functions is carried out between 2200 ≤ Re ≤ 10000 (see figure below).
The mean Nusselt number Nu representing the mean convective heat transfer coefficient kc is shown for the fluid properties of Water (Prandtl number Pr = 7) and a diameter to pipe length fraction of 0.1 in the figure below.
The following verification considers pressure loss influence (roughness =2).


Solutions, that you need!
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum
Links
- Lorem Ipsum passages
- Text of the printing
- Has been the industry's standard
- Desktop publishing software
- Ipsum has been the industry's standard
- Lorem Ipsum passages
- Lorem Ipsum passages
- Has been the industry's standard
- Desktop publishing software
- Ipsum has been the industry's standard
- Lorem Ipsum passages
- Text of the printing
- Has been the industry's standard
- Desktop publishing software


Web Design, Social Media, Animations
Need a website, social media setup, or video? Joan can build a great website using HTML and CSS, or WordPress. She can set up a page on Facebook or Twitter. She can also make videos or graphics to put on your website or social media page. Check out the rest of this site for samples and testimonials, as well as Joan's social media pages.
- Sites that work perfectly and look beautiful.
- Projects that meet your needs.
- Designs meeting high quality standards.
Web Design
Build websites using HTML/CSS or Wordpress. Hosting setup and/or domain setup additional.
Social Media
Facebook and/or Twitter page setup and/or management
Animation
Create animations and videos to display on websites and social media.
Site for Gayle Stever, Ph.D.
This is a site I built for an Associate Professor at SUNY/Empire State College.
Joan's Projects Page
This website shows off my projects and has links to other pages I have built.
Author/Book Page
This is the website displaying various animations for purchase for Websites, Social Media, & More.
Site for Ruth Berman
This is a site I built for author and poet Ruth Berman, who has an extensive list of publications.
TV Bookshelf Page
This website shows the videos (author interviews) for the public access TV program, TV Bookshelf.
Resume Page
This is a website which contains my resume. The left side of the page remains fixed while the right side of the page scrolls. The navbar is at the left.
To receive animations on weekly or monthly basis, subscribe to Joan's Patreon
Robot Sample video
Cookbook or Restaurant video
Sample Book Cover video
Theresa Whiteside
Joan has set up a great Facebook page for me that I'm having fun playing with and exploring. I appreciate her tremendous help in getting me and my small business coaching practice into an arena (Facebook) that I hadn't wanted to take the time or learning curve to do for myself. She's been great at getting me set up and answering my admittedly newbie questions. Definitely recommend her for her skills and expertise! Thanks, Joan - Nice Job!
Mallissa Misemer
1st Fish Designs, LLC, graphic designer
We HIGHLY recommend Joan Marie Verba, Social Media Management...! Our meeting today was such an eye-opener for us and we cannot thank you enough. When you think you have things going good, Joan can always make them the BEST they can be! THANKS, JOAN!
Brenda Helsene
CB Styles Hair and Tanning Salon, Chanhassen, MN
Joan helped me out with my business social networking. I am amazed at the number of hits I recieved! I was impressed with the site and what it has done for my business. Most of our new customers are a result of the internet and the Google site she prepared.
Kathryn Sullivan
Joan built a great WordPress website for me, as well as a mobile website and a Facebook Fan page. Excellent work!
Del Schippers Hansard
Joan helped me solve a major conflict between my blog and Facebook posting. I highly recommend her services!
Star Stroker
Thank you so much for the social media class. It was really informative and helped allay some of my worries with the complexities of it all!
Joan Marie Verba has been building websites for over 20 years. She has additional training as a social media manager
and is a certified web developer.
She has given presentations about websites and social media for organizations such
as SCORE and the Minnesota SCBWI chapter.
Joan Marie Verba is a graduate of the Front End Engineering (web development) course from The Iron Yard.
Joan Marie Verba is a graduate of the Full Stack Web Development course at the University of Minnesota.
Joan Marie Verba is a member of the Let's Get Social social media manager's network
Websites
Joan can build a custom site or a site using a WordPress theme for $40/hour
Features that can be added include:
- Include live Facebook page right on the web page
- Put videos right on the web page and/or link to YouTube
- Mobile optimization - the website is accessible on a smartphone
Additional charge for hosting and/or domain setup
Social Media
Social Media setup for $295
Includes:
- Setting up a page account (Facebook, for instance)
- Construct cover and profile images
Animations
Prices vary according to difficulty. Email for quote.
Note that videos can be made to fit any size
More at Joan's Patreon Page


Actions Tutorial
In the Projection Tutorial we started out by creating a projection of the DemoModel. In this tutorial we will add actions to the editor, to enable the user to change the model and add elements to it.
First of all take a look at the built-in default behavior of the editor:
-
Inside a TextBox the text can be edited.
-
Using the arrow keys the user can navigate the projection.
-
Using Ctrl-Arrow the user can navigate up and down the model/AST.
-
When an element is selected, it can be deleted with the DEL key.
Step 1: Create new Model Elements
We want the user to be able to add a new entity to the model. For this we define an action.
First of all we add an AliasBox
at the end of the vertical list of entities.
Note the role of the box: "end-of-entity-list"
private createModelBox4(model: DemoModel): Box {
return new VerticalListBox(model, "model", [
new HorizontalListBox(model, "model-info", [
new LabelBox(model, "model-keyword", "model-3", {
style: demoStyles.keyword
}),
new TextBox(model, "model-name", () => model.name, (c: string) => (model.name = c), {
placeHolder: "<name>"
})
]),
new LabelBox(model, "entity-list", "Entities", {
style: demoStyles.keyword
}),
new VerticalListBox(
model,
"entities",
model.entities.map(ent => {
return this.createEntityBox3(ent);
})
).addChild(new AliasBox(model, "end-of-entity-list",
"add entity", { style: demoStyles.indent })) (1)
]);
}
| 1 | The AliasBox . |
Secondly we define an action.
{
activeInBoxRoles: ["end-of-entity-list"], (1)
trigger: "entity", (2)
action: (box: Box, trigger: PiTriggerType, ed: PiEditor): PiElement | null => { (3)
var model: DemoModel = box.element as DemoModel;
const entity: DemoEntity = new DemoEntity();
model.entities.push(entity);
return entity;
},
boxRoleToSelect: "entity-name" (4)
},
| 1 | the action is attached to each box with the role "end-of-entity-list".
This means that the action can be triggered in the AliasBox we defined in the projection. |
| 2 | we define that the action will be triggered when the user types "entity" inside the.alias box. |
At <3> we define the executable c ode for the action. It creates a new DemoEntity
and attaches is to tghe DemoModel
At <4> we define the focus of the editor. The Box
with the role "entity-name"
within the entity as terurned from the action
code will get the ditor focus.
This ensures that the user can immediately start typing the name of the entity after it has been created.
Step 2 Create new Attributes
Enable the creation of a new DemoAttribute
is done similar to the creation of a new DemoEntity
.
First we add an AliasBox
to the projection of the attribute list:
new VerticalListBox(entity,"attributes",
entity.attributes.map(att => {
return this.createAttributeBox(att);
})
).addChild(new AliasBox(entity, "end-of-attribute-list",
"add attribute", { style: demoStyles.indent }))
Then we create the actual action and attach it to the role of the AliasBox
.
{
trigger: "attribute",
activeInBoxRoles: ["end-of-attribute-list"],
action: (box: Box, trigger: PiTriggerType, editor: PiEditor): PiElement | null => {
var entity: DemoEntity = box.element as DemoEntity;
const attribute: DemoAttribute = new DemoAttribute();
entity.attributes.push(attribute);
return attribute;
},
boxRoleToSelect: "attribute-name"
},
As you can see, there can be many boxes with the same role in the editor, as long as their model element is different. This way, the above action is available for each attribute list in each entity.


*FIRST NAME
*LAST NAME
MIDDLE NAME
*ADDRESS(NO, STREET)
APARTMENT
*CITY
*COUNTRY Canada
*PROVINCE Alberta British Columbia Prince Edward Island Manitoba New Brunswick Nova Scotia Nunavut Ontario Quebec Saskatchewan Newfoundland and Labrador Northwest Territories Yukon
*POSTAL CODE
*PHONE NUMBER(without '-')
*EMAIL
*CONFIRM EMAIL Please confirm it again. Two email addresses are different.
*PREFERRED LANGUAGE English French
*PASSWORD (Must contain at least 10 characters, including at least one number, one lowercase letter, one uppercase letter and one special character.) Please set your password again. Some condition is not met.
*CONFIRM PASSWORD Please confirm it again. Two passwords are different.
*PAYMENT METHOD Debit Credit Moomoo card
*CARD NUMBER(without space) Wrong card number format.
*CVC NUMBER(3 Digits) Wrong cvc format.
MOOMOO Newsletter I would like to recieve the moomoo newsletter which includes: new products promotions information on our services
MOOMOO and its partners I would like to recieve occational offers, surveys and promotions presented by MOOMOO which may be in association with trusted partners.
Consent to Conditions of Use and protection of Personal Information Policy *Yes, I have read and accept the Conditions of Use and protection of Personal Information Policy


Recipient
Caps Digital
c/o Darshik
| Invoice # | Date | Amount Due | {{order}} | January 1, 2012 | {{price|intcomma}} |
|---|
| Item | Description | Rate | Quantity | Price | Front End Consultation | Experience Review | {{bill.type}} | {{bill.count|intcomma}} | {{price|intcomma}} |
|---|
| Total | {{price|intcomma}} |
|---|